2012-03-02 70 views
1

我們通常能夠清除所有這些綁定錯誤,但還有一個我們無法修復的特別偷偷摸摸的錯誤(基本上我們將對象設置爲null,並且該對象是DataContext for a Rectangle.Fill屬性),因此我們認爲設置FallBackValue會讓它消失,但我們還是得到了綁定錯誤:避免在輸出窗口中出現綁定錯誤

System.Windows.Data Error: 6 : 'TargetDefaultValueConverter' converter failed to convert value '' (type 'String'); fallback value will be used, if available. 

有沒有辦法使用回退值時,沒有得到這些錯誤?我的意思是,這就是它不是嗎?爲什麼它仍然顯示錯誤?

這是綁定:

<Rectangle x:Name="rectangle" Fill="{Binding Mode=OneTime, TargetNullValue={StaticResource someBrush}}" Height="23" Margin="0,1.5,0,1.5" Width="100" /> 

LMK,謝謝!

+0

綁定中沒有路徑。 – Phil 2012-03-02 22:42:41

+1

@Phil這是因爲它的數據上下文是一個筆刷。 – Carlo 2012-03-02 23:05:34

回答

2

有了這個

<Grid> 
    <Grid.Resources> 
     <SolidColorBrush Color="Red" x:Key="Fallback"/> 
     <SolidColorBrush Color="Blue" x:Key="Null"/> 
    </Grid.Resources> 

    <Rectangle Fill="{Binding Mode=OneTime, TargetNullValue={StaticResource Null}, FallbackValue={StaticResource Fallback}}"/> 
</Grid> 

如果我設置的DataContext = NULL,我得到一個藍色的矩形, 如果我設置的DataContext = Brushes.Yellow,我得到一個黃色的矩形。並沒有綁定錯誤。

+0

它似乎解決了這個問題。讓我把它展示給我的同事,我會讓你知道。謝謝! – Carlo 2012-03-02 23:14:54