목록 상자에서 항목을 선택하면 아래 코드가 작동하지 않습니다. 그 이유는 무엇입니까? 버튼은 마우스 클릭이 아닌 ListBox
을 캡처 제어를하기 때문에ListBox SelectionTagate의 Button으로 작업하고 있지 않습니다.
<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는 SelectionChanged
이벤트가 발생되지 않습니다
<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>
"작동하지 않는다"는 의미는 무엇입니까? 무슨 일이야? 오류가 있습니까? – iabbott
다음과 같이 메시지가 표시되는지 확인했습니다. code void private selection_changed (Object sender, SelectionChangedEventArgs e) { MessageBox.Show ("works?"); }'code'하지만 아무것도 표시되지 않습니다. – Maximus
데이터 형식의 단추 대신 다른 컨트롤을 사용하려고 했습니까? – cguedel