Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将值设置为已具有值的嵌套控件的属性_C#_Wpf_Xaml - Fatal编程技术网

C# 将值设置为已具有值的嵌套控件的属性

C# 将值设置为已具有值的嵌套控件的属性,c#,wpf,xaml,C#,Wpf,Xaml,我有一个CustomControl,比如说带有按钮的网格,我不能直接修改它。该嵌套按钮的内容属性设置为“Hello world”。CustomControl不向外部代码公开此按钮。那么,如何在主窗口中设置此属性? 我试着设定风格 <Style TargetType="{x:Type Button}"> <Setter Property="Content" Value="Bye" /> </Style> 如果按钮的属性未设置,它将非常有效,遗憾的是

我有一个CustomControl,比如说带有按钮的网格,我不能直接修改它。该嵌套按钮的内容属性设置为“Hello world”。CustomControl不向外部代码公开此按钮。那么,如何在主窗口中设置此属性? 我试着设定风格

<Style TargetType="{x:Type Button}">
    <Setter Property="Content" Value="Bye" />
</Style>


如果按钮的属性未设置,它将非常有效,遗憾的是,这不是我的情况。

CustomControl
中创建一个
属性,该属性将返回并设置按钮的内容。

首先尝试获取用户控件

CustomControl=Page.FindControl(“CustomControl名称”)作为CustomControl

然后尝试使用与上面相同的方法获取另一个控件


注意:我不是100%确定这会起作用。我回答是因为我们在其他地方使用相同的逻辑。因此,这可能会对您有所帮助。

您必须在控件中创建一个依赖项属性才能做到这一点。是一个教程。

我不能修改控件,因为它不是我的,并且位于外部库中。这对UserControl有效,但当我试图在CustomControl中查找按钮时,方法返回null。也许这是因为按钮是按样式定义的。有没有办法找到样式中的控件?请使用Quick Watch了解自定义控件的属性和属性。明智地使用它我相信你会得到你的用户控制下的控制一个请求如果答案id有用,请做相应的标记。