Мой пользовательский контроль, который я добавляю программно, не отображается.
Это мой MainPage.xaml: -
<UserControl x:Class="ScrollingEffect.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 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"> <Canvas x:Name="LayoutRoot" Background="White"> <Canvas x:Name="content" Height="Auto" Width="Auto"/> <Canvas Width="Auto"> <StackPanel Height="27" Width="1400" Background="#B2000000"/> </Canvas> </Canvas> </UserControl>
Это мой MainPage.xaml.cs: -
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace ScrollingEffect { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); this.Loaded += new RoutedEventHandler(MainPage_Loaded); } void MainPage_Loaded(object sender, RoutedEventArgs e) { RedBack objRedBack = new RedBack(); content.Children.Add(objRedBack); } } }
Это мой RedBack.xaml: -
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Class="ScrollingEffect.RedBack" d:DesignWidth="640" d:DesignHeight="480"> <Canvas x:Name="LayoutRoot"> <Canvas.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0.078"/> <GradientStop Color="Red" Offset="1"/> </LinearGradientBrush> </Canvas.Background> </Canvas> </UserControl>
Попробуйте использовать Grid в качестве основного контейнера макета в RedBack.xaml, а затем поместите холст внутри Grid.