2010-06-27 62 views
1

如何製作此類用戶界面:
1)帶有項目的列表框。
2)關於所選項目的詳細信息。
3)當您更改任何項目的詳細信息時,列表中的所選項目變爲加粗 ...
4)...直到您按下「保存」按鈕並且所有更改都會轉到數據庫。WPF中的正確數據綁定

例如,對於綁定到列表中,我使用帶有字符串名稱屬性的對象,並且我希望在按下「保存」後看到此屬性的更改。

當我將UpdateCommand綁定到SaveButton Command屬性時,主要的麻煩是調用強制刷新ListBox。

回答

0

您可以使用DataTrigger。將屬性添加到您的項目視圖模型,名爲Dirty。編輯項目時將其設置爲true。當Dirty的值爲true時,數據觸發器會將fontweight設置爲粗體。

<Window.Resources>     
     <Style TargetType="{x:Type TextBlock}" x:Key="AStyle"> 
      <Style.Triggers> 
       <DataTrigger 
        Binding="{Binding Path=Dirty}" 
        Value="True"> 
        <Setter Property="FontWeight" Value="Bold" />      
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 

     <DataTemplate x:Key="ATemplate"> 
      <StackPanel> 
       <TextBlock Text="{Binding Name}" Style="{StaticResource AStyle}" /> 
      </StackPanel> 
     </DataTemplate> 
    </Window.Resources> 

,然後簡單地設置您的ItemTemplate到Atemplate是否

+0

謝謝你,它的工作原理。但點擊「保存」按鈕後,我仍然無法保存。 – 2010-06-28 05:20:35