Как я могу связать проверенное свойство radiobutton внутри DataTemplate? - PullRequest
0 голосов
/ 08 мая 2011

Это мой DataTemplate:

<DataTemplate x:Key="DataTemplateThemes">
            <Grid Width="160" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5,0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="28.3336664835612"/>
                    <RowDefinition Height="161"/>
                    <RowDefinition Height="Auto" />
                    <RowDefinition/>

                </Grid.RowDefinitions>
                <TextBlock x:Name="tbThemeName" HorizontalAlignment="Left" Margin="2" Grid.Row="2" TextWrapping="Wrap" 
                           Text="{Binding ThemeName}" FontSize="16" FontFamily="Segoe UI" d:LayoutOverrides="Height"/>
                <Image Margin="0" Stretch="Fill" Grid.Row="1" Source="{Binding Path=ThemePicName, Converter={StaticResource imageConverter}}"/>
                <TextBlock x:Name="tbDescription" HorizontalAlignment="Left" Margin="2" Grid.Row="3" 
                           TextWrapping="Wrap" Text="{Binding ThemeDescription}" FontSize="14.667" FontFamily="Segoe UI" 
                           d:LayoutOverrides="Height"/>
                <RadioButton Content="Apply" Margin="-10,0,0,0" 
                             d:LayoutOverrides="Width, Height" HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Grid>
        </DataTemplate>

Свойство IsChecked в RadioButton зависит от свойства Theme, которое доступно в моей ViewModel.Сначала я подумал, что создам конвертер, который будет передавать текущую строку (datatemplate current DataContext) ThemeId и ViewModel's Theme (которая является выбранной Theme) свойством ThemeId, и если они оба будут совпадать, я бы проверил переключатель.Но ConverterParameter не может принимать выражение Binding, поскольку оно не является свойством DependencyProperty.Так как мне решить эту проблему?

Заранее спасибо :))

1 Ответ

1 голос
/ 09 мая 2011

Вы могли бы реализовать решение с несколькими привязками.Ранее я реализовал решение, описанное здесь:

http://www.scottlogic.co.uk/blog/colin/2010/05/silverlight-multibinding-solution-for-silverlight-4/

Затем вы можете иметь преобразователь, который принимает два обязательных параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...