初学WPF,绑定数据时出现了一点小问题;
有这么一个数据类,引用了PropertyChanged.Fody,实现了INotifyPropertyChanged接口;
public class DirectionArrowControlData : INotifyPropertyChanged
{
public DirectionArrowControlData()
{
Text = "";
ForeColor = "#90EE90";
ScaleX = 1;
ScaleY = 1;
Angle = 0;
}
public DirectionArrowControlData(DesignerItem designerItem) : this()
{
(designerItem.Content as DirectionArrowModule).DataContext = this;
}
/// <summary>
/// 文本信息
/// </summary>
public string Text { get; set; }
/// <summary>
/// 字体颜色
/// </summary>
public string ForeColor { get; set; }
/// <summary>
/// 水平缩放比
/// </summary>
public double ScaleX { get; set; }
/// <summary>
/// 垂直缩放比
/// </summary>
public double ScaleY { get; set; }
/// <summary>
/// 旋转角度
/// </summary>
public int Angle { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
}
这个数据类型绑定到一下界面时出现了问题:
<UserControl x:Class="GuideScreenSettingTool.Modules.DirectionArrowModule"
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:settingviews="clr-namespace:GuideScreenSettingTool.SettingViews"
d:DataContext="{d:DesignInstance Type=settingviews:DirectionArrowControlData}"
mc:Ignorable="d">
<Viewbox IsHitTestVisible="False">
<TextBlock Text="{Binding Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Foreground="{Binding ForeColor, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
FontFamily="../Fonts/#iconfont" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<TransformGroup>
<RotateTransform Angle="{Binding Angle, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<ScaleTransform ScaleX="{Binding ScaleX, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ScaleY="{Binding ScaleY, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Viewbox>
</UserControl>
当我尝试把数据实体绑定到该界面上时,修改数据并不会刷新界面信息,但是我绑定到另一个界面时又是可以正常刷新的,所以一时间不知道到底哪个地方出了问题,希望大佬们指点迷津啊。