WPF在TextBlock中插入变量

时间:2015-06-05 15:13:10

标签: c# wpf xaml textblock

是否可以绑定" AMOUNT"使用它的值(即使用相应的全局变量更新)仅使用XAML?如果没有,我写的是在显示页面之前用我的var替换AMOUNT?

http://i.imgur.com/SDrV0rs.png

<TextBlock Height="231" Canvas.Left="120" TextWrapping="Wrap" Canvas.Top="459" Width="840" 
           FontFamily="Neo Sans Pro" FontSize="48" 
           Foreground="#FF006CB7" 
           VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Center">
  <Run Text="Для перечисления "/>
  <Run FontWeight="Bold" Text="AMOUNT"/>  
  <Run Text=" рублей в помощь детям с помощью банковской карты, пожалуйста, следуйте инструкции:"/>
</TextBlock>

2 个答案:

答案 0 :(得分:2)

您需要的是绑定到代码隐藏中的变量。

Text="{Binding AMOUNT}"

如果这是 - 正如您所描述的 - 一个“全局变量”,您可以这样绑定:

Text="{x:Static wpfApplication1:Globals.Amount}"

全局变量定义可能如下所示:

public class Globals
{
    public static string Amount = "5000";
}

请注意,文本框的Text属性需要一个字符串。

答案 1 :(得分:1)

使用MVVM;非常广泛地说:

  1. 创建一个带字符串属性的类:例如

    公共类MyViewModel {     public string Amount {get {return&#34; ...&#34 ;; }} }

  2. 将上面类的实例分配给视图的DataContext。

    var viewModel = new MyViewModel(); view.DataContext = viewModel;

  3. 在XAML中使用绑定表达式

    ... TextBlock Text =&#34; {Binding Amount}&#34; ... /&gt;