Wpf - An updated non-communication dependency property

I have the following 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));

(this was created from VS template)

I have this DataTriggerone that updates it:

<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>

Finally, I have this Gridone that has property-specific visibility.

<Grid Visibility="{Binding IterationSelected, Converter={StaticResource BooleanToVisibilityConverter}, diagnostics:PresentationTraceSources.TraceLevel=High}" Grid.Row="1">
    <TextBlock>Testing 1323</TextBlock>
</Grid>

So here is the problem: I used: diagnostics:PresentationTraceSources.TraceLevel="High"to check all the bindings, and everything works fine, except that when it loc:MainMediator:IterationSelectedgets true, it Griddoesn't dial it. Nothing works. The point is not that it cannot communicate, or something like that. He just doesn't even try. The only time the snap Gridto the start of the application fires . It is triggered and evaluated correctly at this time.

, ( ), IterationSelected . .

WPF, ?

+3
2

, , . , .

Grid.Visibility IterationSelected DataContext. DataTrigger loc:MainMediator. IterationSelected Grid.

Grid.Visibility loc:MainMediator. IterationSelected Grid ( DataContext). RelativeSource={RelativeSource Self} :

Visibility="{Binding IterationSelected,
                     Converter={StaticResource BooleanToVisibilityConverter},
                     RelativeSource={RelativeSource Self}}">

, , , DataContext.

loc:MainMediator.IterationSelected, IterationSelected.

, , IterationSelected - , , :

<DataTrigger Value="True">
  <!-- binding omitted -->
  <Setter Property="Visibility" Value="Visible" />
</DataTrigger>
+2

IterationSelected Grid, DP MainMediator. MainMediator, , ? , MainMediator, . AP, IterationSelected .

- , ?

+1

Source: https://habr.com/ru/post/1729518/


All Articles