wpf - 如何将变量与文本 block 绑定(bind)

标签 wpf data-binding textblock

我想知道如何将文本 block 绑定(bind)到我的 C# 类中的变量。

基本上我的 .cs 文件中有一个“购物车”变量。在那个 Cart 类中,我可以访问不同的总数。

以下是我的绑定(bind),但它似乎没有绑定(bind)到变量......

<StackPanel
   Width="Auto"
   Height="Auto"
   Grid.ColumnSpan="2"
   Grid.Row="5"
   HorizontalAlignment="Right">
   <TextBlock
      Name="Subtotal"
      FontFamily="Resources/#Charlemagne Std"
      FontSize="20"
      Text="{Binding ElementName=cart, Path=SubTotal}">
   </TextBlock>
   <TextBlock
      Name="Tax"
      FontFamily="Resources/#Charlemagne Std"
      FontSize="20"
      Text="{Binding ElementName=cart, Path=Tax}">
   </TextBlock>
   <TextBlock
      Name="Total"
      FontFamily="Resources/#Charlemagne Std"
      FontSize="20"
      Text="{Binding ElementName=cart, Path=Total}">
   </TextBlock>
</StackPanel>

正确的做法是什么?再次感谢您的帮助!

最佳答案

如果您还希望 TextBoxes 在您的购物车类更改时自动更新,您的类必须实现 INotifyPropertyChanged界面:

class Cart : INotifyPropertyChanged 
{
    // property changed event
    public event PropertyChangedEventHandler PropertyChanged;

    private int _subTotal;
    private int _total;
    private int _tax;

    private void OnPropertyChanged(String property)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }

    public int SubTotal
    {
        get
        {
            return _subTotal;
        }
        set
        {
            _subTotal = value;
            OnPropertyChanged("SubTotal");
        }
    }

    public int Total
    {
        get
        {
            return _total;
        }
        set
        {
            _total = value;
            OnPropertyChanged("Total");
        }
    }

    public int Tax
    {
        get
        {
            return _tax;
        }
        set
        {
            _tax = value;
            OnPropertyChanged("Tax");
        }
    }

}

关于wpf - 如何将变量与文本 block 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344584/

相关文章:

c# - MVVM:ViewModel 和业务逻辑连接

wpf - 棘手的 WPF 绑定(bind)

php - 无法在 JEasyUI Grid 中加载 mysql 查询数据

wpf - INotifyPropertyChanged 问题

c# - 现有数据库中代码优先的外键问题

.net - Application.Exit 没有杀死消息泵?

c# - WPF 中带有 INotifyPropertyChanged 的​​绑定(bind)列表

wpf - 使用单一样式同时设置 Hyperlink 和 TextBlock 的样式?

.net - 日语、中文和韩语等语言的 KeyUp/KeyDown 替代方案?

wpf - 重新定义控件模板时依赖属性从何而来?