매우 이상한 문제가 발생합니다. WPF에서 3 개의 tabItem을 포함하는 tabControl이 있습니다. tabControl의 SelectedIndex에서 "OneWayToSource"모드에서 내 viewModel 클래스 내부의 속성에 바인딩을 만들었습니다.TabItem이 영구적으로 차단됩니다.
다음은 XAML 코드입니다 :
<TabControl Name="mainTabControl" SelectedIndex="{Binding SelectedTabIndex, Mode=OneWayToSource}" >
<TabItem Header="Tab 01" Name="tab01"> ... </TabItem>
<TabItem Header="Tab 02" Name="tab02"> ... </TabItem>
<TabItem Header="Tab 03" Name="tab03"> ... </TabItem>
</TabControl>
그리고 내 뷰 모델에 : 당신이 볼 수 있듯이
private int m_selectedTabIndex;
public int SelectedTabIndex
{
get
{ return m_selectedTabIndex; }
set
{
SetAndNotify(ref m_selectedTabIndex, value,() => SelectedTabIndex);
SelectedTabChanged();
}
}
private void SelectedTabChanged()
{
// Some code
}
는 매번 내 뷰 모델의 SelectedTabIndex
속성이 변경되면 SelectedTabChanged()
방법은 실행이 완벽하게 작동합니다. 난 못해,이 같은 선택 보이지만 영구적으로 선택된 상태로 유지, 내 SelectedTabChanged()
방법 안에 예를 System.Windows.MessageBox.Show("Some Text")
에 대한 사용하여 메시지를 보여줄 때, 나는 다른 TabItem의 이전 선택된 탭이 차단됩니다 선택 :
내 이상한 문제가 있다는 것입니다 더 이상 내용을 볼 수 없습니다.
그냥 명확히 : 모달 창
왜 일어나고을 보였다 때 내가 전에 언급 한 바와 같이,이 이상한 문제는 어떻게됩니까? 이 문제를 어떻게 해결할 수 있습니까?
나는 분명히 자신을 설명하기를 희망한다.
미리 감사드립니다.
답장을 보내 주셔서 감사합니다. 실제로 예외 메시지 일 수 있으므로 모달 창을 표시해야합니다. 따라서 탭을 차단하지 않고 모달 창을 표시 할 수있게하려고합니다. – Dante
모달, 그것은 tabcontrol을 차단하므로 가능한 해결책은 없습니다. IMO –