我在.NET框架(使用Visual Studio)中使用wpf進行應用程序。我有一個實體的「用戶」,則實體構成各種性質: 1.名稱VARCHAR 2. IsCanRead 3. IsCanWrite實體沒有得到動態更新
所述第二和所述第三屬性控制用戶是否可以讀或寫或兩者。這些都被綁定到複選框。根據複選框選中3個下拉菜單會顯示在屏幕的其他1 下拉一個由人誰可以讀取 2.下拉2由誰可以寫 3第三下拉人給誰可以做兩
者的名字現在無論何時我更改實體的任何屬性,我都必須重新加載屏幕才能看到更改。任何人都可以請幫助我,並告訴我如何確保用戶不需要重新加載屏幕?並且變化立即反映出來?
下面是XAML代碼
<DataGrid.Columns>
<DataGridTemplateColumn Header="Name" Width="Auto" SortMemberPath="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Name}">
<i:Interaction.Behaviors>
<behavior:AllowableCharactersTextBoxBehavior RegularExpression="^[a-zA-Z0-9 ]*$" MaxLength="50"/>
</i:Interaction.Behaviors>
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Can Read?" SortMemberPath="IsCanRead">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanRead}" IsEnabled="False" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanRead, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn Header="Can Write?" SortMemberPath="IsCanWrite">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanWrite}" IsEnabled="False" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanWrite, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
IsCanRead和IsCanWrite因爲它們結合到複選框 – Manika
顯示實際的類取布爾值和在Xaml中找到的實際綁定,保持簡潔但沒有填充不必要的信息,例如Xaml中的'Width'參數。 – OmegaMan