【问题标题】:MahApps MetroWindow Topmost property Binding issueMahApps MetroWindow Topmost 属性绑定问题
【发布时间】:2020-02-14 15:25:02
【问题描述】:

我在我的 WPF 应用程序中使用 MahApps,当使用 Metro 窗口时,TopMost 属性无法绑定。如果我将它设置为静态值,它仍然可以工作。

<Controls:MetroWindow x:Class="SabreContractSearch.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:prism="http://prismlibrary.com/"
        xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
        prism:ViewModelLocator.AutoWireViewModel="True"
        Topmost= "{Binding Pin}" Title="{Binding Title}" Height="350" Width="525" Name="FrmMainWindow" >

Pin 在这里是一个布尔属性。

如果我删除 Metro 窗口并使用 WPF 的普通窗口标签,它就可以工作。要使 Metro 窗口正常工作,还需要添加什么?

【问题讨论】:

    标签: wpf mahapps.metro


    【解决方案1】:

    这是 ControlzEx v4.2.1 中的一个错误。有一个 Topmost hack,它没有使用 SetCurrentValue 设置 Window 的 Topmost 属性。

    WPF0041 使用 SetCurrentValue 设置可变依赖属性。

    使用 CLR 访问器调用 SetValue(Property, value) 设置依赖属性的值。这将杀死属性上的单向绑定。此规则可能与库代码最相关,因为意外设置一个值可能很难找到错误。

    【讨论】:

      猜你喜欢
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多