gpt4 book ai didi

c# - 窗口级依赖属性( View 的代码在后面),它可以绑定(bind)到 View 的 XAML 中吗?

转载 作者:行者123 更新时间:2023-12-03 10:58:54 25 4
gpt4 key购买 nike

我已经在 View 的代码后面(.cs)中定义了一个依赖属性,我想将我的 View 模型中的一个值绑定(bind)到它。我希望我可以转到 .xaml 并在定义 Window 并填充其他属性(如 DataContext、Title 等)的顶部绑定(bind)到它。这似乎是不可能的,因为那里显示的唯一属性是基本 Window 类型的属性,而不是我正在使用的 View 的特定实例。

我想这样做的原因是,如果我的 ViewModel 定义了一个命令,我希望能够从我的 View 后面的代码中启动该命令。我不想将 DataContext 转换为特定的 ViewModel 类型来获取命令的句柄。我显然可以发送一条消息(我正在使用 MVVM Light)来执行此操作,似乎我可以在不通过依赖属性消息传递的情况下做到这一点。

最佳答案

您可以通过样式 setter 设置绑定(bind),如下所示。请注意 Setter 中的完全限定属性名称 Property .您也可以设置local:MainWindow作为 Style 的 TargetType以避免完全限定的属性名称,但 XAML 设计器可能会提示这一点。

<Window x:Class="SomeNamespace.MainWindow"
xmlns:local="clr-namespace:SomeNamespace" ...>
<Window.Style>
<Style>
<Setter Property="local:MainWindow.SomeProperty"
Value="{Binding ViewModelProperty}"/>
</Style>
</Window.Style>
...
</Window>

关于c# - 窗口级依赖属性( View 的代码在后面),它可以绑定(bind)到 View 的 XAML 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631809/

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