【发布时间】:2023-03-04 16:40:01
【问题描述】:
我开始尝试使用 C# 和 XAML 创建一个现代应用程序。我已经使用过 C#,但我从未接触过 XAML 或 WPF 代码,所以我有一个初学者问题..
我正在使用 MSFT 模板 Hub 应用程序 (XAML),但如果该文本块位于数据模板内,我不知道如何通过 C# 代码在该文本块上设置文本值。
有人可以帮我解决这个问题吗?
我已经用谷歌搜索了它,但我找不到任何具有该答案/解释的网站。
这是一个关于我正在尝试做的例子:
XAML:
<DataTemplate >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image Source="Assets/MediumGray.png" Stretch="Fill" Width="420" Height="280"/>
<TextBlock Style="{StaticResource SubheaderTextBlockStyle}" Grid.Row="1" Margin="0,10,0,0" TextWrapping="Wrap"
x:Uid="Section1Subtitle" Text="{Binding Score}"/>
<TextBlock x:Name="desc" Grid.Row="2" Margin="0,10,0,0"
x:Uid="DescriptionHeader" Text="{Binding Test}"/>
<TextBlock x:Name="texttest" Grid.Row="3"
Text="{Binding Name}"/>
</Grid>
</DataTemplate>
C#代码:
public class Class1
{
string name = "This is a test";
public string Name
{
get { return name; }
set { name = value; }
}
}
我在这里做错了什么?
提前致谢,
【问题讨论】:
-
看来你需要学习MVVM。基于 XAML 的技术适合使用这种模式,它鼓励分离 UI 和数据/应用程序逻辑。