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

时间:2018-12-31 18:26:52

标签: c# .net wpf xaml

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

我正在尝试使用类文件中的if语句隐藏或替换特定元素。

我尝试操作的代码如下,更具体地说,我想知道如何将Spin="True"替换为Spin="False"。我不确定该怎么做,并认为我需要在运行时通过某种方式通过代码来编辑XAML。

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

因此,在当前状态下,spin等于true,因此网格中的图标将旋转,但是我想在某种形式的if语句期间或仅在当前形式的5秒钟内将spin设置为false。活跃。

2 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,则希望通过编程方式控制Spin属性。

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

这是我想你想做的一个例子:

Xaml部分:

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

ViewModel(如果使用MVVM):

private bool m_spinProp;
public MainVM()
{
    m_spinProp = true;
}
public bool SpinProperty
{
    get { return m_spinProp; }
    set { SetProperty(ref m_spinProp, value); }
}

答案 1 :(得分:-1)

您尝试使用控件名称吗?

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

,然后您就可以检查控件的属性。