C# 通过XAML访问/设置codebehind的自定义文本属性
有一些麻烦让我的头周围所有的DP的我已经重新创建了一个非常简单的版本,我的问题,试图和整理什么是问题。唉,我还是被难住了 我有一个自定义的userControl,并试图通过实例化该控件的页面设置textblock的属性。目前,在下面这个版本中,作为一种自我教育的方式,我只是试图从代码隐藏中访问一个属性 我希望设置自定义文本属性等的原因是,我希望页面上有多个具有自定义行为/文本等的控件版本 这是我的密码C# 通过XAML访问/设置codebehind的自定义文本属性,c#,wpf,xaml,C#,Wpf,Xaml,有一些麻烦让我的头周围所有的DP的我已经重新创建了一个非常简单的版本,我的问题,试图和整理什么是问题。唉,我还是被难住了 我有一个自定义的userControl,并试图通过实例化该控件的页面设置textblock的属性。目前,在下面这个版本中,作为一种自我教育的方式,我只是试图从代码隐藏中访问一个属性 我希望设置自定义文本属性等的原因是,我希望页面上有多个具有自定义行为/文本等的控件版本 这是我的密码 public partial class FeedbackCtrl : UserContro
public partial class FeedbackCtrl : UserControl
{
public bool IsFlagSet
{
get { return (bool)GetValue(IsFlagSetProperty); }
set { SetValue(IsFlagSetProperty, value); }
}
public static readonly DependencyProperty IsFlagSetProperty =
DependencyProperty.Register("IsFlagSet", typeof(bool), typeof(FeedbackCtrl), new PropertyMetadata(false));
public FeedbackCtrl()
{
InitializeComponent();
this.DataContext = this;
}
}
还有我的XAML
<UserControl x:Class="Pipeline_General.Custom_Controls.FeedbackCtrl" x:Name="ThisCtrl"
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"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Expander HorizontalAlignment="Stretch" >
<Expander.Header Name="Header">
<Grid HorizontalAlignment="Stretch" Width="NaN">
<Border Background="Transparent" HorizontalAlignment="Stretch" BorderBrush="gray" BorderThickness="0,0,0,1"
Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Expander}}, Path=ActualWidth}">
<TextBlock Foreground="#FFFF72D2" Text="{Binding Path=IsFlagSet}">
</TextBlock>
</Border>
</Grid>
</Expander.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="1">
<StackPanel Orientation="Vertical" VerticalAlignment="Top" Margin="5"/>
</ScrollViewer>
</Grid>
</Expander>
</Grid>
我不明白你的问题。上面的代码行得通,还是真的行?好啊维尔德。。它只是没有向我展示任何东西。。。。我不应该在designer中看到它吗?这就是我所期待的。抱歉,如果我问了一个愚蠢的问题,您的目标是在WindowView中设置IsFlagSet?比如:好吧,如果它在运行时工作就足够了。。但我真正想要的是在设计器中设置,我只是使用上面的示例来尝试找出DP。原因是我需要两个用户控件的实例。。有两个文本块,我试图在不创建两个不同控件的情况下高效地执行此操作。。