Здравствуйте. Сделал элементарную страничку.
| Код | <UserControl x:Class="RibbonPainter.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:RibbonPainter" xmlns:local1="clr-namespace:RibbonPainter.PaintApp"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="200" /> <RowDefinition Height="200" /> </Grid.RowDefinitions> <local:TestControll x:Name="Test"/> <Button Grid.Row="1" Content="Load BackGround" Name="LoadBackGrounButton" Click="LoadBackGrounButton_Click" /> </Grid> </UserControl>
|
По нажатию на кнопку выполняется код
| Код | namespace RibbonPainter { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); } private void LoadBackGrounButton_Click(object sender, RoutedEventArgs e) { Canvas mainCanvas = this.Test.testCanvas; string _imagePath = "Abelia.png"; Image _image = new Image(); BitmapImage _bitmapImage = new BitmapImage(); _bitmapImage.UriSource = new Uri(_imagePath, UriKind.Relative); _image.Source = _bitmapImage; mainCanvas.Children.Add(_image); } } }
|
где this.Test.testCanvas; это userControl который лежит рядом с MainPage
| Код | <UserControl x:Class="RibbonPainter.TestControll" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Canvas Name="testCanvas" Height="200" Width="200" /> </UserControl>
|
всё срабатывает по нажатию на кнопку и на канвасе появляется Image.
Теперь я делаю такой же контрол но он лежит в проекте в папке PaintApp.
| Код | <UserControl x:Class="RibbonPainter.PaintApp.TestControll2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Canvas Name="testCanvas" Height="200" Width="200" /> </UserControl>
|
И вместо предыдущего контрола добавляю его и хочу на него добавить Image.
| Код | <local1:TestControll2 x:Name="Test"/>
|
вместо
| Код | <local:TestControll x:Name="Test"/>
|
ничего не происходит.
Я не пойму структурной разницы меж ними нет. Просто один лежит в подпапке проекта( соответственно имеет namespase RibbonPainter.PaintApp ) а другой к корне рядом с MainPage.
Почему 2 вариант не работает? |