这是我的第一篇文章,所以它看起来并不那么好,但我会尽我所能......
我现在已经在网上搜索了几个小时了,这听起来可能很傻但是我找不到答案。
我有Window类,在.cs文件中我有一些属性,例如
public ImageSource Obal { get; set; }
然后在设计师中添加了一些图像,按钮等。还设置了窗口的名称:名称=“Somename”
我想知道如何访问该属性,所以我可以,例如,设置一些图像的源属性,如下所示:
图片名称=“Blah”来源=“Obal”
现在我知道我可以通过绑定设置Source值:
Source =“{Binding ElementName = karta,Path = Obal}”
但我每次都必须这样吗?所有这些属性都来自Window类...而且我也想问,因为我想在 Image.Style Storyboard 中更改 image.Source > ......我不能在那里使用绑定......
我希望我很清楚,我提前感谢你们。
答案 0 :(得分:2)
要访问XAML文件中属性后面的代码,您需要执行以下3个步骤:
在xaml文件中引用命名空间,如:
xmlns:local="clr-namespace:AccessACodeBehindPropertyinXaml"
提供您在Windows.Resources标记中引用的命名空间的密钥。此密钥将允许访问XAML文件中引用的命名空间的任何类,属性,例如。
<Window.Resources>
<local:ImageClass x:Key="imageClass"/>
</Window.Resources>
现在您只需要使用Source&amp; amp;和XAML绑定控件的属性。 Binding类的路径属性如下:
<Label Content="{Binding Source={StaticResource imageClass}, Path=ImageName}" Name="label1" />
我编写了一个示例应用程序,它将类属性绑定到标签控件。看看
MainWindow.xaml.cs文件:
namespace AccessACodeBehindPropertyinXaml
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
public class ImageClass
{
string m_ImageName;
public ImageClass()
{
m_ImageName = "My Image Name";
}
public string ImageName
{
get
{
return m_ImageName;
}
set
{
m_ImageName = value;
}
}
}
}
MainWindow.xaml
<Window x:Class="AccessACodeBehindPropertyinXaml.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:AccessACodeBehindPropertyinXaml"
Title="MainWindow" Height="350" Width="525" Name="ImageWindow">
<Window.Resources>
<local:ImageClass x:Key="imageClass"/>
</Window.Resources>
<Grid>
<Label Content="{Binding Source={StaticResource imageClass}, Path=ImageName}" Height="28" HorizontalAlignment="Left" Margin="159,126,0,0" Name="label1" VerticalAlignment="Top" Width="109" />
</Grid>
</Window>
如果您需要进一步澄清,请告诉我。