Я знаю, что есть несколько похожих тем, но я все еще не уверен в лучшей реализации.
Код должен быть понятен сам по себе — проверьте комментарий там. Как лучше всего получить доступ к этому VIewModel.
часть: FontSearchBox — это UserControl без ViewModel — он просто содержит TextBox для поиска, который должен выполнить команду.
Спасибо и ценю.
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="90" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<part:MainWindowControls Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Source="/Typesee;component/Resources/window_logo.png" Width="156" Height="45" Grid.Column="0" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="NearestNeighbor" />
<!-- THIS TEXTBOX NEEDS TO CALL A COMMAND (SearchCommand.Execute(string)) Which resides in the fontTreeViewControl's ViewModel (FontTreeViewModel) -->
<part:FontSearchBox Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,12,10" Width="250" DataContext="{Binding ElementName=fontTreeViewControl, Path=DataContext}" />
</Grid>
<vw:FontTreeView x:Name="fontTreeViewControl" Grid.Row="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
</Grid>
THIS TEXTBOX NEEDS TO CALL A COMMAND
? Как текстовое поле сможет вызвать команду? Вы хотите связать какое-то свойствоpart:FontSearchBox
сfontTreeViewControl's ViewModel
? - person sll   schedule 25.11.2011