c# - DatagridTemplateColumn 中的动态

标签 c# .net wpf xaml

如果行中的值=“无付款”,我需要在数据模板中显示组合框,否则我不会在行中显示组合框,我该怎么做?

这是我的数据网格模板:

<DataGridTemplateColumn Header="Time">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock VerticalAlignment="Center" Text="{Binding date_payment, Converter={StaticResource ByteArrayConverter}}" Width="135" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <ComboBox IsReadOnly="False" SelectionChanged="ComboBox_SelectionChanged_1" Style="{DynamicResource ComboBoxStyle}" Height="Auto" ItemsSource="{Binding}" Width="135">
                <ComboBox.BorderBrush>
                    <SolidColorBrush Color="{DynamicResource Color1}"/>
                </ComboBox.BorderBrush>
                <ComboBox.Items>
                    <ComboBoxItem>Payment</ComboBoxItem>
                </ComboBox.Items>
            </ComboBox>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

我认为需要使用事件LoadinRow,但我想不到,如果我设置Name我的组合框那么不可见(在代码中)?

请帮忙!谢谢:)


答案:

<Setter Property="Visibility" Value="Hidden"/>
  <Style.Triggers>
    <DataTrigger Binding="{Binding date_payment, Converter={StaticResource ByteArrayConverter}}" Value="Не оплачено">
  <Setter Property="Visibility" Value="Visible" />
 </DataTrigger>
...

最佳答案

您无需注册参加事件。只需在 ComboBox 声明中创建一个 DataTrigger 即可。

 <ComboBox>
         <ComboBox.Triggers>
            <DataTrigger Binding="{Binding [Name of your property]}" Value="No payment">
               <Setter Property="Visibility" Value="Collapsed"/>
            </DataTrigger>
         </ComboBox.Triggers>
      </ComboBox>

另一种(也许更好)的方法是在您绑定(bind)的对象上实现一个属性,并使用一个 bool 值来指示客户的当前状态(例如,NoPayment 等)。 然后,您可以使用转换器将此值绑定(bind)到 ComboBoxes Visibility 属性,转换器将此状态转换为目标 Visibility 值。

关于c# - DatagridTemplateColumn 中的动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556266/

相关文章:

c# - 应用程序是否执行 Console.WriteLine ("Test");在编译版本?

c# - 正则表达式从js代码中提取地址

c# - 在 Xaml 中声明元组

c# - WPF数据绑定(bind)问题

wpf - 针对 INotifyCollectionChanged 类型的数据绑定(bind)

c# - 如何将asp-append-version ="true"实现到background-image属性?

c# - Unity 中的回合制网络

c# - 类型为 "System.Windows.Controls.ControlTemplate"的对象不能应用于需要类型为 "System.Windows.Style"的属性

c# - Autofac 错误地解析命名服务

c# - taglib-sharp 中是否有与 Label/Publisher 等效的字段?