0

我有两个 TemplateColumn 的 Datagrid。

第一列是 Combobox,第二列是扩展的 IntergerUpDown 控件

我需要根据 Combox 框 SelectedItem 值启用/禁用 IntegerUpDown 控件。

请帮助我如何做到这一点。下面的示例 xaml。

<Grid><DataGrid ItemsSource="{Binding List1}" Name="x1">
            <DataGrid.Columns>
                <DataGridTemplateColumn Header="ColorTemplate">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox  ItemsSource="{Binding DataContext.List2, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGrid}}}" 
                                      DisplayMemberPath="Name"  SelectedValue="{Binding ColourId}" SelectedValuePath="Id" Tag="{Binding Id}"
                                       HorizontalAlignment="Stretch" x:Name="discussTemplate" VerticalAlignment="Stretch"
                                         />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTemplateColumn Header="UPDown" Width="Auto">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <extToolkit:IntegerUpDown AllowSpin="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Minimum="0"
                                                  x:Name="updown"
                                                  IsEnabled="????" >

                            </extToolkit:IntegerUpDown>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
4

1 回答 1

0

这可以通过 ViewModel ColourId 属性上的 DataTrigger 轻松完成。

由于 ComboBox 上的 SelectedValue 属性已绑定,因此您可以在 extToolkit:IntegerUpDown 控件上有一个 DataTrigger,该控件将根据 ViewModel 上的 ColourId 值将 IsEnabled 设置为 True/False。

于 2012-10-26T08:26:38.560 回答