У нас есть проблема, при которой при закрытии общего элемента управления (в дочернем окне), когда выбрана другая вкладка, отличная от первой вкладки, содержимое вкладки отключается, а затем отключается, когда перезагрузка элемента управления. Однако, если вы выберете другую вкладку и вернетесь к исходной вкладке, содержимое будет включено.Содержимое TabItem отключено при выборе разных вкладок
Кто-нибудь есть понимание того, что вызывает первоначальную инвалидизирующую сила по & починки для этого, как я борюсь с этим?
XAML
<customTab:CustomTabControl x:Name="ctcNoteTabControl" Margin="10">
<customTab:CustomTabItem Header="Details">
<Border Background="White" CornerRadius="10">
...
</Border>
</customTab:CustomTabItem>
<customTab:CustomTabItem Header="Attachments/Email Alerts">
<Border Background="White" CornerRadius="10">
...
</Border>
</customTab:CustomTabItem>
<customTab:CustomTabItem Header="Assets" x:Name="ctiAssets">
<Border Background="{StaticResource CurveBlockBackground}" CornerRadius="10" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2">
...
</Border>
</customTab:CustomTabItem>
</customTab:CustomTabControl>
C# - Пользовательский класс наследующий TabControl
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace ReACTSL.Control
{
public class CustomTabControl : TabControl
{
protected override void OnKeyDown(KeyEventArgs e)
{
switch (e.Key)
{
case Key.Home:
case Key.End:
e.Handled = true;
break;
default:
break;
}
base.OnKeyDown(e);
}
}
}
C# - Пользовательский класс наследующий TabItem
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace ReACTSL.Control
{
public class CustomTabItem : TabItem
{
protected override void OnKeyDown(KeyEventArgs e)
{
switch (e.Key)
{
case Key.Home:
case Key.End:
case Key.Left:
case Key.Right:
case Key.Up:
case Key.Down:
e.Handled = true;
break;
default:
break;
}
base.OnKeyDown(e);
}
}
}
У вас есть пример кода для обработки вкладок? – matt
Элемент управления вкладкой - это класс System.Windows.Controls.TabControl в System.Windows.Controls.dll для Silverlight 5 (SDK). Единственное отличие состоит в том, что мы обрабатываем событие OnKeyDown, чтобы остановить поведение по умолчанию при переключении между выбранными вкладками при использовании клавиш вверх, слева, справа и вниз –