Я создал UserControl
, состоящий из Grid
, который содержит один элемент управления Image
.
<UserControl
x:Class="Album.AlbumPicture"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Album"
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"
Width="200"
Height="200"
>
<Grid Width="200" Height="200">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Image Name="AlbumPictureImage" Width="200" Height="200" Grid.Column="0" Grid.Row="0" />
</Grid>
</UserControl>
Теперь у меня был конструктор, который брал существующий Image
(недавно созданный из Stream
) и назначал Image
Image
моего пользовательского элемента управления.
AlbumPicture::AlbumPicture(Windows::UI::Xaml::Controls::Image^ Image){
InitializeComponent();
this->AlbumPictureImage = Image;
this->Height = 200;
this->Width = 200;
this->state = AlbumPictureState::SWIPE;
this->StartingPoint = Point(0,0);
}
Чтобы убедиться, что мой UserControl
был добавлен к контейнеру макета, я сделал Background
из Grid
белым, и он отображался нормально. Я также добавил Image
непосредственно в макет-контейнер, и он отобразился правильно.
Теперь, когда я меняю конструктор на
AlbumPicture::AlbumPicture(Windows::UI::Xaml::Media::ImageSource^ Source){
InitializeComponent();
this->AlbumPictureImage->Source = Source;
this->Height = 200;
this->Width = 200;
this->state = AlbumPictureState::SWIPE;
this->StartingPoint = Point(0,0);
}
все работает нормально и будет отображаться Image
. В чем тут подвох?
Image
-control-reference дляImage
моегоUserControl
, он будет отображаться правильно, но ничего не показывает, если я использовал свой первый подход. Я просто не понимаю, почему он не отображается... - person bash.d   schedule 08.05.2013Container.Children
, чтобы оно было включено в визуальное дерево XAML? - person Jerry Nixon   schedule 08.05.2013