2012-02-19 66 views
4

我有這樣的綁定窗口標題通過樣式&&觸發XAML

<Window x:Class="SolutionName.ClassName" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Height="300" Width="300" WindowStartupLocation="CenterOwner"> 
<Window.Style> 
    <Style TargetType="Window"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding Path=ItemKind}" Value="SomeKind"> 
       <Setter Property="Title" Value="SomeTitle"/> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding Path=ItemKind}" Value="SomeKind2"> 
       <Setter Property="Title" Value="SomeTitle"/> 
      </DataTrigger> 

我想要的代碼是依賴於一個屬性ItemKind在視圖模型(設置爲DataContext的)來實現改變窗口的標題。上面的代碼不起作用,我很困惑,因爲找不到任何錯誤。

+0

是否在輸出窗口中看到任何綁定錯誤? – 2012-02-19 13:00:49

+0

您是否在其他地方設置了標題? – 2012-02-19 13:34:37

+0

是ItemKind an Enum? Afair則Value必須用值路徑語法編寫,否則您需要編寫一個Type轉換器。因此,而不是價值=「SomeKind」使用 SomeKind ... – dowhilefor 2012-02-19 13:39:24

回答

2

該代碼似乎很好,並在我的工作結束。你在ViewModel類中實現了INotifyPropertyChanged嗎?您需要實現它,以傳播ViewModel類中屬性值的任何更改以反映您的UI。

How to: Implement Property Change Notification