Dlaczego następujący fragment XAML daje mi wyjątek XamlParseException z (bez znaczenia) wiadomością "Typ wyrażenia nie jest prawidłową wartością stylu". W czasie wykonywania?Korzystanie z TemplateBinding w ControlTemplate.Triggers
<Control x:Class="TestApp.Max.MyControl"
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" xmlns:Max="clr-namespace:TestApp.Max"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Control.Template>
<ControlTemplate>
<TextBlock Name="txt" Text="{TemplateBinding Max:MyControl.Foo}" />
<ControlTemplate.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter TargetName="txt" Property="Text" Value="{TemplateBinding Max:MyControl.Bar}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Control.Template>
</Control>
Linia wykraczająca jest
<Setter TargetName="txt" Property="Text" Value="{TemplateBinding Max:MyControl.Bar}" />
Gdybym wymienić TemplateBinding z normalnym Oprawa zacznie działać:
{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Text2}
Jeżeli nie będę mógł użyć TemplateBinding od Jestem w ControlTemplate? A co tak naprawdę oznacza komunikat o wyjątku?
Po prostu pomyślałem, że będę chip, że mam podobny problem, Całkowicie zapomniałem o możliwości użycia zwykłego wiązania, dzięki za pracę. – Hugoagogo