Что будет альтернативой 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) в вашей модели представления.