gpt4 book ai didi

wpf - 在 xaml 中访问属性背后的代码

转载 作者:行者123 更新时间:2023-12-01 04:00:21 25 4
gpt4 key购买 nike

这是我的第一篇文章,所以看起来不是那么好,但我会尽力而为......

我已经在网上搜索了几个小时,这听起来可能很愚蠢,但我一直无法找到答案。

我有 Window 类,在 .cs 文件中我有一些属性,例如

public ImageSource Obal { get; set; }

然后在设计器中添加了一些图像、按钮等。还设置了窗口的名称: 姓名="某人"

我想知道如何访问该属性,例如,我可以为它设置一些图像的源属性,如下所示:

图片名称="Blah"来源="Obal"

现在我知道我可以通过绑定(bind)设置 Source 值:

来源="{绑定(bind)元素名称=karta, 路径=Obal}"

但我必须每次都这样吗?无论如何,所有这些属性都来自 Window 类...而且我也在问,因为我想更改 图片来源 Storyboard 图片样式 ...我不能在那里使用绑定(bind)...

我希望我很清楚,我提前感谢大家。

最佳答案

要访问 XAML 文件中属性背后的代码,您需要执行 3 个步骤:

  • 引用 xaml 文件中的命名空间,例如:
    xmlns:local="clr-namespace:AccessACodeBehindPropertyinXaml"
  • 提供您在 Windows.Resources 标记中引用的命名空间的键。此键将允许访问您的 XAML 文件中引用的命名空间的任何类、属性,例如
    <Window.Resources>
    <local:ImageClass x:Key="imageClass"/>
    </Window.Resources>
  • 现在您只需使用 Binding 类的 Source & Path 属性在 XAML 中绑定(bind)控件的属性,如下所示:
    <Label Content="{Binding Source={StaticResource imageClass}, Path=ImageName}" Name="label1" />

  • 我编写了一个将类属性绑定(bind)到标签控件的示例应用程序。看一看

    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;
    }
    }
    }
    }

    主窗口.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>

    如果您需要更多说明,请告诉我。

    关于wpf - 在 xaml 中访问属性背后的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13898549/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com