參考:stackoverflow
問題背景
有如下代碼,發(fā)現(xiàn)在 ImageSource="{Binding SomeImage}"
中沒有綁定的當(dāng)前的 DataContext文章來源:http://www.zghlxwxcb.cn/news/detail-669873.html
<Grid>
<Border>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding SomeValue, ElementName=myControl, Mode=OneWay}" Value="0">
<Setter Property="Background">
<Setter.Value>
<!-- 此處 Binding 沒有生效 -->
<ImageBrush ImageSource="{Binding SomeImage}" />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
解決辦法
改成如下即可文章來源地址http://www.zghlxwxcb.cn/news/detail-669873.html
<Grid>
<Grid.Resource>
<ImageBrush x:key="myImage" ImageSource="{Binding SomeImage}" />
<Style x:key="myStyle" TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding SomeValue, ElementName=myControl, Mode=OneWay}" Value="0">
<Setter Property="Background" Value="{StaticResource myImage}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Resource>
<Border Style="{StaticResource myStyle}"/>
</Grid>
到了這里,關(guān)于WPF 解決 Style.Trigger 中數(shù)據(jù)綁定失效的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!