如何使用 C# 后端而不是在 XAML 中绑定模板上的 XAML 元素?

艾伦2

这是我现在所拥有的:

我有这个问题的简化模板:

<?xml version="1.0" encoding="UTF-8"?>
<Frame xmlns="http://xamarin.com/schemas/2014/forms" 
                      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
   xmlns:t="clr-namespace:Japanese.Templates" 
   xmlns:local="clr-namespace:Japanese;assembly=Japanese" 
   x:Class="Japanese.Templates.RoundButtonText" x:Name="this">
   <Label Text="ABC"     
          TextColor="{Binding LabelTextColor, Source={x:Reference this}}"
   />
</Frame>

和这个 C#

using Xamarin.Forms;

namespace Japanese.Templates
{
    public partial class RoundButtonText : BaseFrameButtonTemplate
    {
        public RoundButtonText()
        {
            InitializeComponent();
            // I would like to put the Label TextColor binding here instead of in the XAML
        }

    }
}

有人可以通过告诉我如何在 C# 后端添加标签 TextColor 的绑定来帮助我,以便它以与当前编写的方式完全相同的方式更改:

 TextColor="{Binding LabelTextColor, Source={x:Reference this}}"

在 XAML 中?

jgoldberger - MSFT

从 XAML 中删除绑定并为 Label 控件提供一个 x:Name:

<?xml version="1.0" encoding="UTF-8"?>
<Frame xmlns="http://xamarin.com/schemas/2014/forms" 
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
       xmlns:t="clr-namespace:Japanese.Templates" 
       xmlns:local="clr-namespace:Japanese;assembly=Japanese" 
       x:Class="Japanese.Templates.RoundButtonText" x:Name="this">
    <Label x:Name="label" 
           Text="ABC" />
</Frame>

在后面的 C# 代码中设置绑定和要绑定到的属性:

using Xamarin.Forms;

namespace Japanese.Templates
{
    public partial class RoundButtonText : BaseFrameButtonTemplate
    {
        Color _labelTextColor;
        public Color LabelTextColor {
            get {
                return _labelTextColor;
            } 
            set {
                if (_labelTextColor != value) {
                    _labelTextColor = value;
                    OnPropertyChanged("LabelTextColor");
                } 
            }
        }

        public RoundButtonText()
        {
            InitializeComponent();
            label.BindingContext = this;
            label.SetBinding(Label.TextColorProperty, "LabelTextColor");
        }
    }
}

现在,无论何时LabelTextColor更改属性值,标签的 TextColor 属性也应该更改,就像使用 XAML 绑定一样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在xaml中绑定包含元素

来自分类Dev

如何将应用程序资源添加到应用程序的C#后端而不是XAML文件中?

来自分类Dev

如何在C#中访问HubView XAML的子元素?

来自分类Dev

如何从C#修改XAML DataTemplate中定义的元素的值?

来自分类Dev

WPF:在 XAML 中多次使用元素

来自分类Dev

如何在 XAML 中访问父模板样式的元素?

来自分类Dev

XAML从绑定的元素获取数据

来自分类Dev

使用IValueConverter的默认C#XAML绑定

来自分类Dev

如何将XAML元素作为全局变量绑定到App.XAML.CS?

来自分类Dev

使用 ElementName 将 XAML 元素绑定到 UserControl

来自分类Dev

如何使用C#xaml以编程方式设置数据绑定

来自分类Dev

如何从 .resources 文件(不是 .resx 文件)使用 XAML 中的资源?

来自分类Dev

如何从其他XAML文件中的代码后面访问XAML元素?

来自分类Dev

使用C#中的数组填充Xaml

来自分类Dev

XAML中如何使用CollectionViewSource?

来自分类Dev

XAML中如何使用CollectionViewSource?

来自分类Dev

如何在XAML中定位元素(形状)?

来自分类Dev

如何在XAML中定位元素(形状)?

来自分类Dev

如何通过 XAML 中的 CommandParameter 传递当前聚焦的元素名称?

来自分类Dev

使用专用XAML文件在WPF中替换元素的BackGround属性

来自分类Dev

使用 gong dragdrop 在代码隐藏中创建 xaml 元素

来自分类Dev

如何使用XAML在C#WPF中绘制弹簧

来自分类Dev

XAML嵌套模板绑定

来自分类Dev

在Windows Phone中使用C#而不是XAML的ContentTemplate

来自分类Dev

在C#中创建框架而不是XAML时,如何在构造函数中分配动态资源?

来自分类Dev

如何将XAML元素绑定到Windows Store Apps中的自定义类?

来自分类Dev

如何将XAML元素绑定到Windows Store Apps中的自定义类?

来自分类Dev

如何在 C# 中使用 WPF 绑定 Xaml 中的动态值

来自分类Dev

UWP[Xaml] 如何访问 Button 内的元素

Related 相关文章

  1. 1

    如何在xaml中绑定包含元素

  2. 2

    如何将应用程序资源添加到应用程序的C#后端而不是XAML文件中?

  3. 3

    如何在C#中访问HubView XAML的子元素?

  4. 4

    如何从C#修改XAML DataTemplate中定义的元素的值?

  5. 5

    WPF:在 XAML 中多次使用元素

  6. 6

    如何在 XAML 中访问父模板样式的元素?

  7. 7

    XAML从绑定的元素获取数据

  8. 8

    使用IValueConverter的默认C#XAML绑定

  9. 9

    如何将XAML元素作为全局变量绑定到App.XAML.CS?

  10. 10

    使用 ElementName 将 XAML 元素绑定到 UserControl

  11. 11

    如何使用C#xaml以编程方式设置数据绑定

  12. 12

    如何从 .resources 文件(不是 .resx 文件)使用 XAML 中的资源?

  13. 13

    如何从其他XAML文件中的代码后面访问XAML元素?

  14. 14

    使用C#中的数组填充Xaml

  15. 15

    XAML中如何使用CollectionViewSource?

  16. 16

    XAML中如何使用CollectionViewSource?

  17. 17

    如何在XAML中定位元素(形状)?

  18. 18

    如何在XAML中定位元素(形状)?

  19. 19

    如何通过 XAML 中的 CommandParameter 传递当前聚焦的元素名称?

  20. 20

    使用专用XAML文件在WPF中替换元素的BackGround属性

  21. 21

    使用 gong dragdrop 在代码隐藏中创建 xaml 元素

  22. 22

    如何使用XAML在C#WPF中绘制弹簧

  23. 23

    XAML嵌套模板绑定

  24. 24

    在Windows Phone中使用C#而不是XAML的ContentTemplate

  25. 25

    在C#中创建框架而不是XAML时,如何在构造函数中分配动态资源?

  26. 26

    如何将XAML元素绑定到Windows Store Apps中的自定义类?

  27. 27

    如何将XAML元素绑定到Windows Store Apps中的自定义类?

  28. 28

    如何在 C# 中使用 WPF 绑定 Xaml 中的动态值

  29. 29

    UWP[Xaml] 如何访问 Button 内的元素

热门标签

归档