【发布时间】:2019-12-16 15:15:35
【问题描述】:
我只是想根据单选按钮的 IsChecked 在 DatePicker 中设置 SelectedDate。当单选按钮 IsChecked 为 true 时,应在 DatePicker 中输入今天的日期。如果 IsChecked 为 false,则 DatePicker 应为空。我尝试了数据触发器的各种版本,但都没有产生任何好处。无论单选按钮是什么,DatePicker 中都不会填充任何内容。为了让它正常工作,我缺少什么?
<DatePicker Grid.Row="19" Grid.Column="1" Width="120" SelectedDate="{Binding SelectedApplication.DateHireDeclineSent}"
Visibility="{Binding IsChecked, ElementName=HireDeclinedYes, Converter={StaticResource BooleanToVisibilityConverter}}" >
<DatePicker.Style>
<Style TargetType="DatePicker">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=HireDeclinedYes, Path=IsChecked, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="True">
<Setter Property="SelectedDate" Value="{x:Static sys:DateTime.Now}"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=HireDeclinedYes, Path=IsChecked}" Value="False">
<Setter Property="SelectedDate" Value="{x:Null}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DatePicker.Style>
</DatePicker>
<StackPanel Grid.Row="16" Grid.Column="4" Orientation="Horizontal"
Visibility="{Binding IsChecked,ElementName=NoHireAdd, Converter={StaticResource BooleanToVisibilityConverter}}">
<RadioButton x:Name="HireDeclinedYes" Content="Yes" IsChecked="{Binding SelectedApplication.HireDeclined}" />
<RadioButton x:Name="HireDeclinedNo" Margin="5,0,0,0" Content="No" IsChecked="{Binding SelectedApplication.HireDeclined, Converter={StaticResource BoolInverterConverter}}" />
</StackPanel>
【问题讨论】:
标签: c# wpf datatrigger