Я посмотрел десятки вопросов и ответов, но не нашел ответа на эту, по-видимому, простую потребность.
Я работаю с Silverlight 4. Я хочу определить всплывающую подсказку с элементами управления в нем в файле ResourceDictionary, который имеет определения стиля.
Мой пользовательский управляющий файл "UC_Activity.xaml" имеет:
...
<TextBox Style="{StaticResource Style0}" Name="tb_id" />
...
Если мой файл "Styles.xaml" имеет
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">
<Style x:Key="Style0" TargetType="TextBox">
<Setter Property="FontSize" Value="12" />
<Setter Property="FontFamily" Value="Portable User Interface" />
<Setter Property="ToolTipService.ToolTip" Value="Long tooltip text here. This WORKS, but part of the text ends up out of the screen." />
</Style>
</ResourceDictionary>
это работает, но я могу показывать только простой текст в качестве всплывающей подсказки, и если текст очень длинный, он окажется вне экрана, где его невозможно будет увидеть. Я хочу что-то вроде этого:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">
<Style x:Key="Style0" TargetType="TextBox">
<Setter Property="FontSize" Value="12" />
<Setter Property="FontFamily" Value="Portable User Interface" />
<Setter Property="ToolTipService.ToolTip">
<Setter.Value>
<StackPanel>
<sdk:Label Content="Short text here."/>
<TextBlock TextWrapping="Wrap" MaxWidth="200" Text="Long text here. This does NOT WORK." />
</StackPanel>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
но это НЕ РАБОТАЕТ. Он строится нормально, но выдает исключение («Значение не попадает в ожидаемый диапазон.») При запуске выполнения.
Пожалуйста, как я могу это сделать?
Большое спасибо.