-1
我在XAMLWPF DataTrigger的組合框項目更改
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ComboBox Grid.Column="0" SelectedItem="{Binding Type, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
<ComboBoxItem Content="1">Mobile</ComboBoxItem>
<ComboBoxItem Content="2">Phone</ComboBoxItem>
</ComboBox>
<TextBox Text="{Binding Contact, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
</Grid>
</DataTemplate>
設計了一個聯繫中的屬性是
public int Type { get; set; }
public string Contact { get; set; }
的Type is ZERO
初始值(即Type = 0;
)。
條件以實現:
- 如果數據類型爲等於1或2,然後我需要啓用文本框 -
IsEnabled = True
- 如果數據類型爲1,則
TextBox.MaxLength
應爲10 - 如果類型是2,則
TextBox.MaxLength
應該是11
我嘗試以下一塊代碼的:
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Type}" Value="0">
<Setter Property="TextBox.IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=Type}" Value="1">
<Setter Property="TextBox.MaxLength" Value="10" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=Type}" Value="2">
<Setter Property="TextBox.MaxLength" Value="11" />
</DataTrigger>
</DataTemplate.Triggers>
但上述代碼不起作用。請幫助我如何實現DataTemplate
內DataTrigger
中的邏輯。