2012-05-04 46 views
0

我被玩弄,實驗和谷歌搜索本作的最後一小時,不能找出問題。基本上,我有一個列表框,每個項目都有文本塊和複選框。我需要將選中的複選框旁邊的textblock文本更改爲綠色。下面的代碼是我能想到的最好的,但它不起作用。任何幫助表示讚賞。的Silverlight:添加ChangePropertyAction到的DataTemplate

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

(對不起我的英文不好) - 這不回答你的問題,但一個簡單的替代方法是結合'IsSelected'用'TextBox.Foreground'並創建一個轉換器,返回'SolidColorBrush'綠色當值是真的。 – Leo

+0

謝謝!我會做的。你爲什麼把它作爲註釋,不回答? – Val

+0

我添加評論,因爲它沒有直接解決你的問題......但因爲它的幫助下,我張貼作爲一個答案太:) – Leo

回答

1

(對不起我的英文不好)

這並不完全回答你的問題,但一個簡單的替代方法是結合IsSelectedTextBox.Foreground,並創建返回SolidColorBrush綠色轉換器,當值真正

相關問題