C# 绑定文本块来自资源wpf的文本
我尝试了上面的代码,但无法绑定文本,如何将内部资源文本块文本绑定到外部资源,谢谢这里出现的各种问题:C# 绑定文本块来自资源wpf的文本,c#,wpf,xaml,C#,Wpf,Xaml,我尝试了上面的代码,但无法绑定文本,如何将内部资源文本块文本绑定到外部资源,谢谢这里出现的各种问题: 您正在TextBlock文本绑定中指定Mode.TwoWay,它应该是Mode.OneWay 您正在绑定到标签的文本属性。标签没有文本属性,只有内容。而且它不是依赖属性,所以不能绑定到它。(这就是说,内部力学的偶然性确实会导致它在某些条件下工作) 模板就是:模板。你不能绑定到不存在的东西,所以绑定是没有意义的 也许你可以明确你想要做的是什么,这样我们就可以建议一种实现它的替代方法了?具体地说,向
文本
属性。标签没有文本属性,只有内容。而且它不是依赖属性,所以不能绑定到它。(这就是说,内部力学的偶然性确实会导致它在某些条件下工作)<Grid.Resources>
<DataTemplate x:Key="trackTemplateY">
<TextBlock x:Name="txbValueY" Text="{Binding ValueX}" Margin="5" FontSize="11" FontWeight="Medium"/>
</DataTemplate>
</Grid.Resources>
<TextBlock Text="{Binding ElementName=txbValueY,Mode=OneWay,Path=Text}"
Background="Orange" Foreground="White"/>
如果由于某种原因无法执行此操作,则还可以创建绑定代理对象(有关详细信息,请参阅):
同样,如果您确实想绑定到数据模板声明,也有一些方法,但要绑定到数据模板声明,我必须查看运行时如何创建数据模板的详细信息。我猜您正在尝试在第二个非资源TextBlock中显示TextBlock资源中存在的文本
<Grid>
<Grid.Resources>
<local:BindingProxy x:Key="proxy" Data="{Binding ValueX}" />
<DataTemplate x:Key="trackTemplateY">
<TextBlock x:Name="txbValueY" Text="{Binding ValueX}" Margin="5" FontSize="11" FontWeight="Medium"/>
</DataTemplate>
</Grid.Resources>
<TextBlock Text="{Binding Source={StaticResource ResourceKey=proxy}, Path=Data}" Background="Orange" Foreground="White"/>
</Grid>
<Grid>
<Grid.Resources>
<local:BindingProxy x:Key="proxy" Data="{Binding ValueX}" />
<DataTemplate x:Key="trackTemplateY">
<TextBlock x:Name="txbValueY" Text="{Binding ValueX}" Margin="5" FontSize="11" FontWeight="Medium"/>
</DataTemplate>
</Grid.Resources>
<TextBlock Text="{Binding Source={StaticResource ResourceKey=proxy}, Path=Data}" Background="Orange" Foreground="White"/>
</Grid>
现在我编辑我的问题,请看,那么没有办法将资源值内部绑定到外部???为什么在这里使用数据模板?
<Grid.Resources>
<TextBlock x:Key="TbRes1" Text="Resource Text" x:Name="txbValueY" Margin="5" FontSize="11" FontWeight="Medium"/>
</Grid.Resources>
<TextBlock Text="{Binding Source={StaticResource TbRes1},Mode=OneWay,Path=Text}"
Background="Orange" Foreground="White"/>