首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinRT控件以呈现XAML UIElement

WinRT控件以呈现XAML UIElement
EN

Stack Overflow用户
提问于 2015-06-10 05:38:52
回答 1查看 316关注 0票数 0

我正在将WPF应用程序移植到WinRT中。这个旧的应用程序有一个部分,它需要一些东西,比如图像、MediaElement、Xaml页面等;将其转换为UIElement;然后接收类会使用VisualBrush将其呈现到按钮上。

不幸的是,WinRT没有VisualBrush。我尝试过将内容设置为UIElement等。我还读到了有关UIElement的文章,但是我认为它不会奏效,因为我也有视频内容。

是否有任何方法可以使控件接受并正确呈现UIElement?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-10 12:22:32

根据您想要实现的目标,您只需在UIElement属性中设置您的Button.Content

Button.Content属性可以接受任何UIElement。

例如,您可以执行以下操作:

MainPage.xaml

代码语言:javascript
复制
<Page ...>
<StackPanel  ...>
    <Button x:Name="myButton" Width="200" Height="200"
        HorizontalContentAlignment="Stretch"
        VerticalContentAlignment="Stretch" >

        <Button.Content>
            <local:Page2 />
        </Button.Content>
    </Button>
</StackPanel>
</Page>

Page2.xaml

代码语言:javascript
复制
<Page...>
    <Grid ...>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <Rectangle Fill="Red" />
        <Rectangle Fill="Yellow" Grid.Column="1"/>
        <Rectangle Fill="Blue" Grid.Row="1"/>
        <Button Content="Click Me" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center"/>
    </Grid>
</Page>

或者从背后的代码:

MainPage.xaml.cs

代码语言:javascript
复制
 public sealed partial class MainPage : Page
 {
    public MainPage()
    {
        this.InitializeComponent();
        myButton.Content    = new Page2();
    }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30747909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档