0
我試圖將邊框背景顏色更改爲紅色,如果子textr得到值「0」。我正在嘗試使用GreaterThanZero Converter,但它無法執行任何操作。我想知道如果有人可以幫助。如果值大於零,我還需要將texblock前景顏色更改爲白色。任何想法都非常感謝。先謝謝你。在Texblock值上調整邊框背景顏色?
這是我的XAML:
<Grid>
<Border x:Name="TextBoxBorder" BorderThickness="1" Width="30">
<TextBlock x:Name="TotalTileValue" Text="{Binding TotalItemCount}">
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Content, Converter={x:Static local:GreaterThanZeroConverter.Instance}, RelativeSource={RelativeSource Self}}" Value="True" >
<Setter Property="TextBlock.Foreground" Value="White" />
<Setter TargetName="TextBoxBorder" Property="Background" Value="#FFCC0000" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Border>
不幸的是,我不能這樣做。這種方式指定的「文本」強制轉換無效。感謝您嘗試幫助。 – vladc77 2011-02-25 21:10:37
@ vladc77:這就是我最後一行的意思。綁定到內容是沒用的,因爲TextBlock上沒有Content-Property。因此沒有任何反應但是,如果綁定到文本,則綁定起作用,但由於您的轉換器不知道如何將字符串轉換爲int,所以會引發異常。你必須擴展轉換器的字符串值。例如:if(value is string){int intValue = 0; Int32.TryParse((string)value,out intValue); return intValue> 0;} ... – HCL 2011-02-25 21:21:40
我無法訪問轉換器。它包裝在dll中。看起來我需要創建一個新的。我想知道你有沒有好的樣品。再次感謝你。 – vladc77 2011-02-25 21:33:16