c# - 如何在网格中放置 XAML 用户控件

标签 c# xaml windows-8 windows-runtime microsoft-metro

我有以下 main.xaml 和用户控件。

我需要多次将用户控件放置在网格的第 2 行第 2 列,通过使用 visual studio,它不允许拖放用户控件,所以我想我必须通过代码来完成,我只是不知道怎么办

MainPage.xaml

<Grid HorizontalAlignment="Left" Height="768" VerticalAlignment="Top" Width="1366" x:Name="grid" Background="Black">
        <Grid.RowDefinitions>
            <RowDefinition Height="150"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="250"/>
        </Grid.ColumnDefinitions>
        <Border BorderBrush="White" BorderThickness="3" Grid.Column="1" Background="Red" CornerRadius="30"/>
        <TextBlock x:Name="txtCountry" Grid.Column="1" TextWrapping="Wrap"  FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        <TextBlock x:Name="txtTime" Grid.Row="1" TextWrapping="Wrap" FontSize="180" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Grid>

用户控制

<UserControl
    x:Class="AlarmPro.TimeOnCity"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:AlarmPro"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="150"
    d:DesignWidth="250">

    <Grid Background="Black">
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Border BorderBrush="#FFDE6A6A" BorderThickness="1" Grid.Row="0" Grid.Column="0" Background="#FFDC4646">
            <TextBlock TextWrapping="Wrap" Text="TextBlock" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"/>
        </Border>
        <Border BorderBrush="Black" BorderThickness="1" Grid.Row="1" Background="#FFAE4F00">
            <TextBlock TextWrapping="Wrap" Text="TextBlock" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="36"/>
        </Border>

    </Grid>
</UserControl>

最佳答案

你是说这样吗?

 <my:UserControlName Grid.Column="2" Grid.Row="2" ... />

<my:在本例中是 CLR 命名空间的别名 UserControl位于。它在 XAML 的顶部定义,在 <Window> 内或 <UserControl>标签取决于上下文。

例如,

<Window ... 
    xmlns:my="clr-namespace:AssemblyName"
    ...
/>

关于c# - 如何在网格中放置 XAML 用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10972728/

相关文章:

c# - 调试后 Visual Studio 2019 自动删除 nuget 包

c# - 获取当前 ip 地址 Xamarin.Forms(跨平台)

xaml - UWP:无法加载和显示插页式视频广告

c# - 上传图像和模型 ASP.NET MVC 4

c# - 你如何设置 ApiController.User

c# - 如何在Windows Phone中创建一个等待特定时间的函数?

xaml - 实现多选项目列表

c# - 防止平板电脑在应用程序运行时休眠

c++ - 如何在 visual studio 2010 中包含 DDK header ?

c# - 如何获取 Gridview SelectedItem 子网格?