У меня есть этот XAML:
<ContentControl Micro:View.Model="{Binding ChildViewModel}">
<Popup x:Name="TestPopup" Placement="Mouse" AllowsTransparency="True">
<Border x:Name="border" Background="White" Padding="5" CornerRadius="10" BorderThickness="2" BorderBrush="Black" >
<StackPanel Orientation="Vertical">
<TextBlock x:Name="MainInfos" Text="{Binding MainInfos}" />
<TextBlock x:Name="AltInfos" Text="{Binding AltInfos}" />
<TextBlock x:Name="OtherInfos" Text="{Binding OtherInfos}" />
<TextBlock x:Name="CanNotUseFieldInfos" Foreground="Red" Text="{Binding CanNotUseFieldInfos}" />
</StackPanel>
</Border>
</Popup>
</ContentControl>
Когда я обновляю значения свойств datacontext, текстовые блоки не обновляются.
Если я перемещаю Popup вне ContentControl следующим образом:
<Popup x:Name="TestPopup" Placement="Mouse" AllowsTransparency="True">
<Border x:Name="border" Background="White" Padding="5" CornerRadius="10" BorderThickness="2" BorderBrush="Black" >
<StackPanel Orientation="Vertical">
<TextBlock x:Name="MainInfos" Text="{Binding MainInfos}" />
<TextBlock x:Name="AltInfos" Text="{Binding AltInfos}" />
<TextBlock x:Name="OtherInfos" Text="{Binding OtherInfos}" />
<TextBlock x:Name="CanNotUseFieldInfos" Foreground="Red" Text="{Binding CanNotUseFieldInfos}" />
</StackPanel>
</Border>
</Popup>
<ContentControl Micro:View.Model="{Binding ChildViewModel}" PreviewMouseMove="Canvas_PreviewMouseMove" MouseEnter="myCanvas_MouseEnter" MouseLeave="myCanvas_MouseLeave" d:LayoutOverrides="Width, Margin" />
Это работает.
Может кто-нибудь объяснить мне, почему?Можно ли заставить работать первый XAML?
Заранее спасибо