提问人:Pradeep atkari 提问时间:11/22/2019 最后编辑:Pradeep atkari 更新时间:11/22/2019 访问量:162
重新承载的 WF4.0 设计器在设计器时不会从画布更新活动。文本 (xaml) 修改后的 xaml
Rehosted WF4.0 designer does not update activity from canvas when the designer.Text (xaml ) modified xaml
问:
我创建了像 Visual Studio IDE 这样的重新托管的设计器工作室。我想要实现的,当我从 xamlTextEditor(我的服装文本框)修改 xaml 时,中心画布上的设计师应该更新/刷新。
设计师。Xaml 代码
<TabControl HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Grid.Column="1" Grid.RowSpan="2" Margin="0,22,0,5" >
<TabItem Header="Designer">
<ContentControl Content="{Binding WorkflowDesignerControl}" Margin="0,0,0,0"/>
</TabItem>
<TabItem Header="XAML"
GotFocus="RefreshXamlTabOnTabItemFocus" >
<TextBox Name="xamlTabTextBox" Text="{Binding XAML, Mode=OneWay}"
AcceptsReturn="True" TextChanged="XamlTextView_TextChanged"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto" IsReadOnly="False">
</TextBox>
</TabItem>
</TabControl>
designer.xaml.cs 我有获取 xaml 文本的属性
public string XAML
{
get
{
if (this.workflowDesigner.Text != null)
{
this.workflowDesigner.Flush();
return this.workflowDesigner.Text;
}
return null;
}
}
我有 RefreshXamlTabOnTabItemFocus
private void RefreshXamlTabOnTabItemFocus(object sender, RoutedEventArgs e)
{
this.designerViewModel.NotifyChanged("XAML");
}
文本更改事件
private void XamlTextView_TextChanged(object sender, EventArgs e)
{
this.workflowDesigner.Flush();
XDocument xd = XDocument.Parse(this.xamlTextView.Text);
this.workflowDesigner.Text = xd.ToString();
this.workflowDesigner.View.UpdateLayout();
}
您可以看到我在主序列中只有一个活动。我的场景是这样的
- 我已经更新了从设计器分配显示名称,然后它将反映在 XAML 文本视图中。
- 当我从文本框 (XAML) 修改相同的显示名称时,它没有反映在设计器中。
任何人都可以向我建议可能的解决方案,所以我可以在TwoWay中设计文本吗?
先谢谢你。
答: 暂无答案
评论