Что будет альтернативой x:Reference?

У меня есть XAML, который выглядит следующим образом:

<DataTemplate x:Key="CdTeThickness">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>

            <StackPanel Grid.Row = "0" Orientation="Horizontal">
                <CheckBox x:Name="DisplayMarkers"   Content="Display Data Points" Margin="8,5,0,5" HorizontalAlignment="Left" IsChecked="False"/>
                <CheckBox x:Name="DisplayIndicator" Content="Display Indicator"   Margin="8,5,0,5" HorizontalAlignment="Left" IsChecked="False"/>
            </StackPanel>

            <vf:Chart Grid.Row = "1" Style="{StaticResource chartStyle}" IndicatorEnabled="{Binding Source={x:Reference DisplayIndicator}, Path=IsChecked}">
                <vf:Chart.Titles>
                    <vf:Title Text="{Binding Chart.ChartTitle}"/>
                </vf:Chart.Titles>

Насколько я понимаю, x:Reference пока широко не поддерживается. Однако это единственный способ, которым я смог привязать желаемое свойство (DisplayIndicator), как показано на снимке экрана. Может кто-нибудь предложить альтернативу x:Reference, которая будет работать в этой ситуации?

2 ответа

Решение

Часто вы можете использовать ElementName обязательный, однако x:Reference на самом деле хорошо поддерживается.

{Binding IsChecked, ElementName=DisplayIndicator}

Кроме того, в качестве альтернативы прямому связыванию, вы можете связать оба Checkbox.IsChecked и Chart.IndicatorEnabled включен для свойства (например, ChartDisplayMarkers) в вашей модели представления.

Другие вопросы по тегам