• M2: XAML Controls(2)


    在前小节中,我们在Card程序的主界面中加入了简单的XAML控件, 本小节将在其基础上进行优化,使界面看上去更加美观。本小节用到了Grid Control, Border Control,以及XAML控件的VerticalAlignmentHorizontalAlignmentPadding Margin TextWrapping等属性。

    打开Card程序,右键单击Assets文件夹,选择Add Existing Item…, 选择一张JPG图片(我们这里的图片名称为background.jpg),这张图片将用作贺卡的背景。单击Add按钮。 切换到MainPage.xaml页面,定位到StackPanel控件, 为StackPanel添加Padding属性。 分别为Button1和Button2添加Margin属性,修改后代码如下:

    <StackPanel Orientation="Horizontal" Grid.Row="1" Padding="4">
        <Button x:Name="btnSendMail" Content="Send to Friend" Grid.Row="1" Margin="4"/>
        <Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1" Click="GetMessage_Click" Margin="4"/>
    </StackPanel>
    

    定位到TextBlock Control,新添加FontSize属性和“,并设置水平居中对齐。

    <TextBlock x:Name="tbMessage" Text="Hello, Click to Start..." Grid.Row="0" FontSize="34" HorizontalAlignment="Center"  TextWrapping="Wrap"/>
    

    在页面上新添加一个Border Control,将TextBlock包裹。并设置Border的透明度属性Opacity, 背景属性Background, 垂直对齐属性VerticalAlignment, 修改后代码如下:

    <Border Opacity="0.8" Background="White" VerticalAlignment="Center">
        <TextBlock x:Name="tbMessage" Text="Hello, Click to Start..." Grid.Row="0" FontSize="34" HorizontalAlignment="Center"  TextWrapping="Wrap"/>
    </Border>
    

    在页面上新添加一个Grid Control, 将其放在Grid第一行,Grid用于显示贺卡的背景。

    <Grid x:Name="gridMsg" Grid.Row="0" >            
        <Border Opacity="0.8" Background="White" VerticalAlignment="Center">
            <TextBlock x:Name="tbMessage" Text="Hello, Click to Start..." Grid.Row="0" FontSize="34" HorizontalAlignment="Center"  TextWrapping="Wrap"/>
        </Border>
    </Grid>
    

    再返回到MainPage.xaml.cs页面, 在构造方法中加入Loaded事件, 在Loaded方法中,我们为gridMsg设置背景图片。

    public MainPage()
    {
        this.InitializeComponent();
        this.Loaded += MainPage_Loaded;
    }
    
    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        ImageBrush imageBrush = new ImageBrush();
        imageBrush.ImageSource = new BitmapImage(new Uri(@"ms-appx:///Assets/background.jpg"));
        imageBrush.Stretch = Stretch.UniformToFill;
        gridMsg.Background = imageBrush;
    }
    

    其中,使用BitmapImage前要引入命名空间using Windows.UI.Xaml.Media.Imaging;

  • 相关阅读:
    原创 爱因斯坦迷题及推导过程
    惊闻姑姑家女婿去世,哀叹生命之脆弱,死亡如此接近
    京东自营预售逻辑
    自营SKU绑定逻辑
    自营结算解释&对账逻辑
    CPS逻辑
    京东搜索结果数据异常
    C++静态库中使用_declspec(dllexport) 不能导出函数的问题
    HTTP+SVN访问速度慢的问题
    Python log
  • 原文地址:https://www.cnblogs.com/qixue/p/4992229.html
Copyright © 2020-2023  润新知