gpt4 book ai didi

c# - 在 WPF 中,MVVM 应该 ViewModel 参与打开一个窗口,例如关于窗口?

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:10 25 4
gpt4 key购买 nike

我有一个标准的 WPF TreeView 并绑定(bind)了项目以查看模型类。

我现在希望处理双击项目时的行为(打开文档 visual-studio-style)。

我可以让事件处理程序在包含 TreeView 的控件中触发(显示的 xaml),但是我如何绑定(bind)到 View 模型类上的特定行为 - 例如项目 View 模型?

最好绑定(bind)到 ICommand-implementer,因为它在其他地方使用...

感谢您的任何评论,

安德斯,丹麦

    <TreeView ItemsSource="{Binding Projects}" MouseDoubleClick="TreeView_MouseDoubleClick">
<TreeView.ItemContainerStyle>
<!--
This Style binds a TreeViewItem to a TreeViewItemViewModel.
-->
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="FontWeight" Value="Normal" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="FontWeight" Value="Bold" />
</Trigger>
</Style.Triggers>
</Style>
</TreeView.ItemContainerStyle>

<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type Implementations:ProjectViewModel}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<Image Width="16" Height="16" Margin="3,0" Source="Images\Region.png" />
<TextBlock Text="{Binding DisplayName}" />
</StackPanel>
</HierarchicalDataTemplate>

<HierarchicalDataTemplate DataType="{x:Type Implementations:PumpViewModel}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<Image Width="16" Height="16" Margin="3,0" Source="Images\State.png" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</HierarchicalDataTemplate>

<DataTemplate DataType="{x:Type Implementations:PumpDesignViewModel}">
<StackPanel Orientation="Horizontal">
<Image Width="16" Height="16" Margin="3,0" Source="Images\City.png" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</TreeView.Resources>
</TreeView>

最佳答案

对于标题问题:是的。主视图的 VM 应该显示 AboutBox。

但是消息的正文似乎不一样,也许你可以稍微扩展一下?

关于c# - 在 WPF 中,MVVM 应该 ViewModel 参与打开一个窗口,例如关于窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com