![](/img/trans.png)
[英]How can I programmatically access a specific Run after adding it to a Windows.UI.Xaml.Controls.TextBlock?
[英]C# Visual Studio 2017 cannot implicitly convert type string to windows.ui.xaml.controls.textblock
剛開始使用C#並想創建簡單的UWP應用程序,我有TextBlock和Button,我想在按Button TextBlock時更改文本,但總是會出錯:
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBlock Text = "HELLO";
}
CS0029 C#無法將類型“字符串”隱式轉換為“ windows.ui.xaml.controls.textblock”
我很困惑,為什么“文本”字段不理解字符串。
感謝您的幫助。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Content="Button" HorizontalAlignment="Left" Height="50" Margin="105,306,0,0" VerticalAlignment="Top" Width="146" Click="Button_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="56,141,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="107" Width="241" SelectionChanged="TextBlock_SelectionChanged" FontSize="36"/>
</Grid>
xaml:
<Grid>
<Button Name="btn" Click="Button_Click" Content="Button"/>
<TextBlock Name="tb"/>
</Grid>
xaml.cs:
private void Button_Click(object sender, RoutedEventArgs e)
{
tb.Text = "HELLO";
}
或刪除Click事件並將其放在構造函數上
btn.Click += (se, arg) => tb.Text = "HELLO";
順便說一句,TextBlock沒有SelectionChanged事件
為了解釋克里斯托弗在上面所做的事情(他的代碼是正確的) :
他在XAML代碼中向TextBlock對象添加了一個標識符。
Name="tb"
然后在C#代碼中,他使用標識符來引用TextBlock對象。
既然您說您是C#的新手,所以讓我給您一個金色的建議。 始終根據其分配給變量和對象(例如按鈕,文本框等)名稱(標識符) 。 這樣一來,您稍后在代碼中使用它們就會容易得多。
縮短一些常用命名對象的提示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.