更改 WPF 中的选定元素
本文关键字:元素 WPF 更改 | 更新日期: 2023-09-27 18:32:26
我是WPF的新手。
我正在 MVVM 模式中创建一个简单的应用程序。
我有一个视图模型,其中引用了一个模型。该模型包含一些我想放在组合框中的网络元素。
以下是视图模型的相关部分:
public class MainWindowVM : ViewModelBase
{
private Model _model = null;
public Model Model
{
get
{
return _model;
}
}
#region ActiveElement
private NetElement _activeElement = null;
public NetElement ActiveElement
{
get
{
return _activeElement;
}
set
{
if (_activeElement != value)
{
_activeElement = value;
RaisePropertyChanged("ActiveElement");
if (ActiveElementChanged != null)
ActiveElementChanged(this, EventArgs.Empty);
}
}
}
}
我希望能够在组合框中选择一个网络元素并将活动元素设置为它。
以下是我当前 XAML 的相关部分:
<ItemsControl Background="White" IsTabStop="True" ItemsSource="{Binding Path=Model.RootNet.Elements}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Margin="2,6">
<Hyperlink Command="{Binding Path=I'm not able to figure out what to write here}">
<TextBlock Text="{Binding Path=Name}" />
</Hyperlink>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这不是一个组合框,而是一个文本块列表,但你可以看到它的去向。
如何从视图中设置活动元素?
为 ComboBox 的 SelectedItem 属性创建一个绑定到 ActiveElement 属性:
<ComboBox SelectedItem="{Binding Path=ActiveElement}" ... />
然后将视图的 DataContext 属性设置为视图模型。