0

我有一个文本块,我想显示一个带有定义字符串的文本。怎么做?

文本块:

 <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Padding="6" VerticalAlignment="Center" Margin="45,0,0,0" Height="30" Width="386" Text="My Program ver. Version"/>

我的字符串:

Public Version As String = "1.0a"
4

3 回答 3

4

您可以使用StringFormat

<TextBlock Text="{Binding Path=Version, StringFormat=My Program ver. {0}}" />

在您的代码中,您必须更改Version为属性(此属性应该是ReadOnly因为它在运行时不会更改)并DataContext在构造函数中分配:

Class MainWindow 

    Public Sub New()
        InitializeComponent()
        Me.DataContext = Me
    End Sub

    ReadOnly Property Version As String
        Get
            Return "1.0a"
        End Get
    End Property
End Class
于 2013-03-03T12:22:08.723 回答
1

如果您希望您的 TextBlock 每次有新版本时都更新版本号,
您可以在 C# 中这样做。您可能很容易找到如何在 VB 中编写它。

这将在您每次发布程序的新版本时更新您的 TextBlock。

在 XAML 中,您将 TextBlock 文本绑定到“版本”:

<TextBlock Text="{Binding Version, Mode=OneWay}" />`

然后在代码隐藏或视图模型中,您可以使用 XAML TextBlock 中的 Binding 属性:

    public string Version
    {
        get
        {
          return String.Format("VERSION: {0}",DeploymentInfo.Version.ToString());
        }
    }

然后,您需要在项目中添加对“System.Deployment”的引用。

这仅在您完成项目的“发布”时才有效。当您启动调试器时,您可能只会看到版本号:0.0.0.0

于 2013-03-04T12:30:32.317 回答
0

在 XAML 文件中:

首先,您应该命名您的 TextBlock,例如我给出tbWithNoName的。

<TextBlock x:Name="tbWithNoName" HorizontalAlignment="Left" TextWrapping="Wrap" Padding="6" VerticalAlignment="Center" Margin="45,0,0,0" Height="30" Width="386" Text="My Program ver. Version"/>

然后在 Window 对象上添加 Loaded 调用。

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525"
        Loaded="Window_Loaded">

将 Window_Loaded 函数插入到您的 vb 文件中。

Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
    tbWithNoName.Text = tbWithNoName.Text + " " + Version
End Sub

这将在加载窗口时更改 TextBlock 的文本

于 2013-03-03T12:21:32.150 回答