【发布时间】:2013-09-23 10:59:05
【问题描述】:
当我在列表框中选择项目时,下面的代码不起作用,你知道为什么吗?
<ListBox BorderBrush="Transparent" Background="Transparent" Name="listbox" HorizontalAlignment="Center" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectionChanged="selection_changed">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Height="90" Width="150" Template="{StaticResource cbutton}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
模板 cbutton 看起来像这样
<ControlTemplate x:Key="cbutton" TargetType="Button">
<Border CornerRadius="3" BorderThickness="3.5" BorderBrush="White">
<Border.Background>
<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
<GradientStop Color="DarkOrange" Offset="0.1"/>
<GradientStop Color="Orange" Offset="0.85"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock FontWeight="ExtraBold" Foreground="White" TextAlignment="Center" TextWrapping="Wrap" FontSize="15" Text="{Binding name}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</ControlTemplate>
【问题讨论】:
-
“不起作用”是什么意思?发生什么了?有错误吗?
-
我通过显示类似
codeprivate void selection_changed(object sender, SelectionChangedEventArgs e) { MessageBox.Show("works?"); }code但没有显示任何内容。 -
您是否尝试在数据模板中使用其他控件而不是按钮?
-
是的,我做到了。我把 textblock 和它的工作,但我想知道它的行为方式出乎意料的按钮有什么问题。
标签: c# wpf listbox selectionchanged