我有以下的
最后,我有一个
所以,这里的问题是,我已经使用了
我唯一尝试过的事情(失败了)是将
WPF大师们,有什么想法吗?
DependencyProperty
:public bool IterationSelected
{
get { return (bool)GetValue(IterationSelectedProperty); }
set { SetValue(IterationSelectedProperty, value); }
}
public static readonly DependencyProperty IterationSelectedProperty =
DependencyProperty.Register("IterationSelected", typeof(bool),
typeof(MainMediator), new UIPropertyMetadata(false));
以下是使用VS模板生成的内容:
然后我有一个DataTrigger
来更新它:
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource IsOpenFalseAndIsCheckedTrueMultiConverter}">
<Binding ElementName="popSelectIteration" Path="IsOpen"/>
<Binding ElementName="chkIteration" Path="IsChecked"/>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="loc:MainMediator.IterationSelected" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
最后,我有一个
Grid
,其可见性取决于属性。<Grid Visibility="{Binding IterationSelected, Converter={StaticResource BooleanToVisibilityConverter}, diagnostics:PresentationTraceSources.TraceLevel=High}" Grid.Row="1">
<TextBlock>Testing 1323</TextBlock>
</Grid>
所以,这里的问题是,我已经使用了
diagnostics:PresentationTraceSources.TraceLevel="High"
来测试所有的绑定,除了当loc:MainMediator:IterationSelected
被设置为true时,Grid
没有捕捉到它。什么都没有触发。不是不能绑定或其他什么问题,它甚至都没有尝试。唯一的时间是应用程序启动时Grid
绑定才会触发。那时它会正确地触发和评估。我唯一尝试过的事情(失败了)是将
IterationSelected
变成一个附加属性,而不是一个普通的依赖属性。然而,那也失败了。WPF大师们,有什么想法吗?