2013-03-03 167 views
0

我有一個文本塊,我想用一個定義的字符串顯示文本。怎麼做?在文本塊中顯示帶有字符串的文本xaml

的文本塊:

<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" 

回答

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中的文本時,窗口中加載

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 
1

如果你想你TextBlock在每次有新版本時更新版本號,
你可以在C#中這樣做。你可以很容易地找到如何在VB中編寫這個。

這會在您每次發佈程序的新版本時更新您的TextBlock。

在XAML綁定一個TextBlock文本「版本」:

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

然後在後臺代碼或在您的視圖模型,你可以在XAML TextBlock的使用屬性,用於綁定,你有:

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

然後,你需要參考您的項目添加到「System.Deployment」

這隻有在您完成項目的「發佈」時纔有效。當您啓動調試器時,您可能只會看到版本號:0.0.0.0

相關問題