0

在过去的一个小时里,我一直在玩,试验和谷歌搜索,但无法找出问题所在。基本上,我有一个列表框,每个项目都有文本块和复选框。我需要在选中的复选框旁边将文本块的文本更改为绿色。下面的代码是我能想到的最好的代码,但它不起作用。任何帮助表示赞赏。

<DataTemplate x:Key="ListBoxTemplate">
        <Grid
            Width="80">
            <TextBlock
                x:Name="textBlock"
                HorizontalAlignment="Left"
                Text="{Binding Data, Converter={StaticResource DataConverter}}"
                Foreground="#FF859FAF"
                FontSize="12"
                TextWrapping="Wrap"
                Width="50"
                Margin="0"
                Grid.Row="10" />
            <CheckBox
                x:Name="Btn6"
                IsChecked="{Binding IsSelected, Mode=TwoWay}"
                Cursor="Hand"
                Padding="0"
                HorizontalAlignment="Right"
                Height="32"
                VerticalAlignment="Bottom"
                RenderTransformOrigin="0.5,0.5"
                Width="26"
                d:LayoutOverrides="GridBox">
                <i:Interaction.Triggers>
                    <i:EventTrigger
                        EventName="textBlock">
                        <ei:ChangePropertyAction
                            TargetName="textBlock"
                            TargetObject="{Binding ElementName=textBlock}"
                            PropertyName="Width"
                            Value="100">
                        </ei:ChangePropertyAction>
                        <i:InvokeCommandAction
                            Command="{Binding SelectDataCommand, Source={StaticResource ControlViewModel}}"
                            CommandName="SelectDateRangeCommand"
                            CommandParameter="{Binding}" />
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </CheckBox>
4

1 回答 1

1

(对不起,我的英语不好)

这并不能完全回答您的问题,但一个简单的替代方法是绑定IsSelectedTextBox.Foreground创建一个转换器,SolidColorBrush当值为 true 时返回绿色

于 2012-05-04T17:40:10.603 回答