我有一个像这样的数据模板:
<DataTemplate x:Key="itemTmpl">
<Grid Margin="6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Height="90" Width="90" Background="#eee" />
<StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
<TextBlock Text="{Binding Id}" Style="{StaticResource TitleTextBlockStyle}" TextWrapping="NoWrap"/>
</StackPanel>
</Grid>
</DataTemplate>
我在后面的代码中设置了List View Item Source,如下所示:
lv.ItemTemplate = (DataTemplate)this.Resources["itemTmpl"];
如何在将模板渲染到我的UI之前以编程方式更改边框背景?
答案 0 :(得分:1)
你可以做一些事情:
x:Name
)并设置背景。对于两个Bindings中的任何一个,您可以使用Converter将非刷子值转换为正确的刷子值(例如,如果您希望它根据Checked是否更改颜色,{{1}或者不是。)
对于第二个绑定,请确保将Source设置为VM,因为DataContext默认情况下是您的Item。另外,请确保您的Item继承自INotifyPropertyChanged,以便您的Bindings将根据数据中的更改进行更新。