基于某些条件WPF的绑定模式

时间:2017-03-16 09:06:51

标签: wpf xaml xaml-binding

我正在尝试根据某些条件设置绑定模式。例如,我想将绑定模式设置为" OneWayToSource"添加数据但是" TwoWay"使用相同的XAML文件更新数据时。总之,我不想在添加模式下显示数据,但想要在更新模式下显示数据。

 <DataGridTemplateColumn Header="Selling Price" Width="Auto" KeyboardNavigation.IsTabStop="False" IsReadOnly="True" MinWidth="120">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <gc:CTextBox Text="{Binding Path=SellingPrice,Mode=OneWayToSource,UpdateSourceTrigger=PropertyChanged,StringFormat=N2}"  VerticalAlignment="Center" HorizontalAlignment="Center" Style="{DynamicResource TextBoxesCustomStyle}" MinWidth="130" TextWrapping="NoWrap"  IsEnabled="{Binding IsNew}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

这是我的XAML。我尝试了不同的方式,并搜索过互联网,但没有幸运能解决这个问题。

1 个答案:

答案 0 :(得分:2)

您可以使用CellTemplate显示数据,并在单元格处于编辑模式时在CellEditingTemplate中使用不同的DataTemplate。

在MSDN中有一个很好的例子: https://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtemplatecolumn.celleditingtemplate(v=vs.110).aspx