【发布时间】:2009-03-25 21:56:46
【问题描述】:
我有一个 WPF 窗口,上面有多个 ListBox 控件,它们都共享我在这里简化的相同样式:
<Style x:Key="listBox" TargetType="{x:Type ListBox}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Border BorderBrush="Black">
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Path=name}" />
<TextBlock Text="{Binding Path=text}" />
<TextBlock Text="id:" />
<TextBlock x:Name="_idTextBlock" Text="{Binding Path=id}" />
<Button Name="btnGet" CommandParameter="{Binding Path=id}" />
</StackPanel>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
下面是使用该样式的 ListBox 控件之一的示例:
<ListBox x:Name="lbCampaigns" Button.Click="lbCampaigns_Click" ItemsSource="{Binding}" Style="{StaticResource listBox}" />
如何在父 ListBox 中设置 Button 控件 (btnGet) 的内容?
我知道我希望按钮在设计时为 Window 上的每个 ListBox 显示什么文本。 (即我不需要将它绑定到 ListBox ItemsSource)。我看到我可以定义子控件的事件(请参阅 Button.Click 定义),但似乎无法以相同的方式设置子控件的属性。
有什么想法吗? 谢谢!
【问题讨论】: