gpt4 book ai didi

visual-studio - 使用控件本身时,如何使用伪数据设计时初始化 XAML UserControl?

转载 作者:行者123 更新时间:2023-12-04 06:27:24 25 4
gpt4 key购买 nike

我有一个基本的 WinRT XAML UserControl,它具有如下实现的单个依赖属性。当在另一个页面或用户控件中使用时,用户控件显然仅在设计时构造。当我在设计器中使用用户控件本身工作时,不会呈现文本“Hello world”。在这种情况下,如何让设计人员使用数据初始化用户控件?

XAML:

<UserControl
x:Class="GTWin8.Ui.SimpleBinding"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:GTWin8.Ui"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400"
x:Name="ThisControl">

<Grid Background="Black">
<TextBlock Text="{Binding Path=Message, ElementName=ThisControl}"
HorizontalAlignment="Left" Margin="10,10,0,0"
TextWrapping="Wrap" VerticalAlignment="Top" Height="280" Width="380"/>
</Grid>
</UserControl>

代码隐藏:

public sealed partial class SimpleBinding : UserControl
{
public static DependencyProperty MessageProperty = DependencyProperty.Register(
"Message", typeof(String), typeof(SimpleBinding), new PropertyMetadata(null));

public String Message
{
get { return (String)GetValue(MessageProperty); }
set { SetValue(MessageProperty, value); }
}

public SimpleBinding()
{
this.InitializeComponent();
Message = "Hello world";
}
}

最佳答案

嗯,一个更简单的方法是声明式调用。

<UserControl>

<d:Page.DataContext>
<sample:FakeViewModel />
</d:Page.DataContext>

<Grid>
<!-- your bind/content -->
</Grid>

</UserControl>

我在我的所有项目中都使用它,因为它提供设计时数据而不会干扰我的运行时体验。更多:http://blog.jerrynixon.com/2012/06/windows-8-15-more-reasons-why-i-choose.html

关于visual-studio - 使用控件本身时,如何使用伪数据设计时初始化 XAML UserControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11408828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com