Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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# 以编程方式更改xaml的内容以更改控件的属性_C#_.net_Wpf_Xaml - Fatal编程技术网

C# 以编程方式更改xaml的内容以更改控件的属性

C# 以编程方式更改xaml的内容以更改控件的属性,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,是否可以通过c以编程方式更改xaml 我试图做的是在类文件中使用if语句隐藏或替换特定元素 下面是我试图操作的代码,更具体地说,我想知道如何用Spin=False替换Spin=True。我不确定应该如何做,我相信我需要在运行时通过代码来编辑XAML <fa:ImageAwesome Icon="Refresh" Spin="True" Height="48" Width="48" Margin="0,350,0,0" /> 因此,在当前状态下,spin等于true,因此网格中的图标

是否可以通过c以编程方式更改xaml

我试图做的是在类文件中使用if语句隐藏或替换特定元素

下面是我试图操作的代码,更具体地说,我想知道如何用Spin=False替换Spin=True。我不确定应该如何做,我相信我需要在运行时通过代码来编辑XAML

<fa:ImageAwesome Icon="Refresh" Spin="True" Height="48" Width="48" Margin="0,350,0,0" />

因此,在当前状态下,spin等于true,因此网格中的图标将旋转,但我想在某种形式的if语句中,或者在当前窗体处于活动状态的5秒内,将spin设置为false。

是否尝试使用控件的名称like

 <fa:ImageAwesome **x:Name="imgSpine"** Icon="Refresh" Spin="True" Height="48" Width="48" Margin="0,350,0,0" />

只需检查控件的属性即可

如果我理解正确,您希望以编程方式控制Spin属性

您应该在WPF中使用绑定选项, 请更深入地研究它,因为它是WPF和Xaml的基本原理

下面是一个我认为你想要做的例子:

Xaml部分:

<fa:ImageAwesome Icon="Refresh" 
      Spin="{Binding SpinProperty}" 
      Height="48" Width="48" Margin="0,350,0,0" />

了解绑定。这对于理解WPF是至关重要的,并且会对您有很大帮助。是的,我是WPF的新手,所以与winform相比有点困惑。。可能对我流感也没有帮助,哈哈,谢谢你的提醒,我会看看绑定。最好说明SetProperty是由某个框架提供的方法。如果这个人是新来的,他们可能不知道每个库的细节,所以用简单的INotifyPropertyChanged提供工作解决方案将是一个很好的选择。此外,你不必在帖子上签名。我们可以看到谁在帮忙;至于SetProperty,它是Prism6 pack Nuget的一部分,因此需要进行简单的搜索,以防它无法编译,他可以找到解决方案。我可以为我将要回答的每个问题添加一个完整的WPF应用程序,但对于提出问题的人来说,这将是一个冗长且缺乏信息的过程。当我提供某种代码片段时,我试图演示一个简单的原理。至于签名,它是对消息的简单闭包。因为我也是新来的,我真的很想帮助人们说这样的话来降低情绪。
private bool m_spinProp;
public MainVM()
{
    m_spinProp = true;
}
public bool SpinProperty
{
    get { return m_spinProp; }
    set { SetProperty(ref m_spinProp, value); }
}