WPF 항목 (지금은 Tab 컨트롤이지만, 나중에 ListBox, ListViews 및 ComboBoxes에 대해 수행해야 함)에서 선택 변경을 방지 할 수있는 방법을 찾고 있습니다.WPF에서 이벤트 선택 변경
나는 this thread을 만나고 답변으로 표시된 것과 동일한 기술을 사용하려고 시도했습니다.
이 기술에서는 탭 컨트롤의 항목에 대해 CollectionView을 검색하고 선택을 방지하기 위해 CollectionView's CurrentChanging event을 처리합니다.
어떤 이유로 인해 CurrentChanging 이벤트가 내 코드에서 실행되지 않습니다.
다음은 내가 작업하고있는 매우 간단한 사용자 정의 컨트롤입니다. 3 개의 탭이있는 탭 컨트롤이 있습니다.
(XAML) 사용자 제어를위한 내 VB.NET 코드에서
<UserControl x:Class="UserControlWithTabs"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<TabControl x:Name="MainTabControl">
<TabItem Header="First Tab">Content for the first tab</TabItem>
<TabItem Header="Second Tab">Content for the second tab</TabItem>
<TabItem Header="Third Tab">Content for the third tab</TabItem>
</TabControl>
</UserControl>
, 나는 단순히 탭 컨트롤의 항목에 대한 CollectionView를 검색하고 이벤트를보기 위해 AddHandler에 방법을 사용하고 있습니다.
(VB.NET)
Public Class UserControlWithTabs
Private WithEvents mainTabCollectionView As CollectionView
Private Sub UserControlWithTabs_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
mainTabCollectionView = CollectionViewSource.GetDefaultView(MainTabControl.Items)
AddHandler mainTabCollectionView.CurrentChanging, AddressOf MainTabControl_ItemSelecting
End Sub
Private Sub MainTabControl_ItemSelecting(ByVal sender As Object, ByVal e As System.ComponentModel.CurrentChangingEventArgs)
End Sub
End Class
은 내가 MainTabControl_ItemSelecting 방법에 중단 점을 추가하는 듯했으나 그것은 명중되지 않습니다.
내가 뭘 잘못하고 있니?
감사합니다,
-Frinny
정말 고마워요! – Frinavale