3 / 3 / 1
Регистрация: 06.09.2013
Сообщений: 36
1

Передача обьекта xaml в другой обьект xaml

28.10.2014, 16:53. Показов 1695. Ответов 4
Метки нет (Все метки)

есть главное окно xaml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<Window x:Class="test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:MyNamespace="clr-namespace:test"
        xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"    
        Title="Simplest plot sample" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="372" d:DesignWidth="804" SizeToContent="WidthAndHeight" Loaded="Window_Loaded" BorderBrush="Red">
    <Grid Name="grid" ShowGridLines="false" Height="Auto" Width="Auto" >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" MaxWidth="350" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <d3:ChartPlotter  MinHeight="350" MaxHeight="600" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="plotter" Margin="1,10,1,1"  MouseDown="plotter_MouseDown" ManipulationStarted="plotter_ManipulationStarted" MouseMove="plotter_MouseMove" HorizontalContentAlignment="Center">
            <d3:VerticalAxisTitle>Y</d3:VerticalAxisTitle>
            <d3:HorizontalAxisTitle>X</d3:HorizontalAxisTitle>
            [COLOR="Red"]<MyNamespace:VerticalDraggableLine x:Name="draggableLine" />[/COLOR]
        </d3:ChartPlotter>
      
 
        <Label Content="Значение Y" Height="23" HorizontalAlignment="Right" Name="label1" VerticalAlignment="Top" Margin="0,88,206,0" Grid.Column="1" />
        <Label Content="Журнал" Height="28" HorizontalAlignment="Right" Margin="0,126,206,0" Name="label2" VerticalAlignment="Top" Grid.Column="1" />
        <Label Content="Значение X" HorizontalAlignment="Right" Margin="0,64,206,0" Name="label3" Grid.Column="1" Height="28" VerticalAlignment="Top" />
        <TextBox Margin="0,66,69,0" Name="textBox1" IsReadOnly="True" Grid.Column="1" Height="23" VerticalAlignment="Top" HorizontalAlignment="Right" Width="120" />
        <TextBox Height="23" Margin="0,97,69,0" Name="textBox2" VerticalAlignment="Top" IsReadOnly="True" Grid.Column="1" HorizontalAlignment="Right" Width="120" />
        <TextBox HorizontalAlignment="Right" Margin="0,128,38,0" Name="journal" VerticalAlignment="Top" Width="151" MinLines="8" TextWrapping="Wrap" AcceptsReturn="True" MaxLines="8"  IsReadOnly="True" Height="92" Grid.Column="1" />
        <TextBox Height="23" Name="pointCountTextBox" TextChanged="pointCountTextBox_TextChanged" Width="120" MaxLength="10" Grid.Column="1" Margin="0,30,69,0" VerticalAlignment="Top" HorizontalAlignment="Right" />
        <Label Content="Количество точек" Height="28" Name="label4" Width="112" Grid.Column="1" Margin="0,30,203,0" VerticalAlignment="Top" HorizontalAlignment="Right" />
    </Grid>
 
    
</Window>
VerticalDraggableLine это UserControl элемент, у него есть свой xaml и код в котором требуется ссылка на ChartPlotter который plotter
вот xaml VerticalDraggableLine
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<UserControl x:Class="test.VerticalDraggableLine"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"    
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <d3:DraggablePoint  x:Name="dragPoint"></d3:DraggablePoint>
        <Line x:Name="l" Stroke="Azure" StrokeThickness="20"></Line>
    </Grid>
</UserControl>
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2014, 16:53
Ответы с готовыми решениями:

Динамическое добавление XAML в XAML
Перешел с Winows Forms на WPF буквально 6 часов назад если смотреть на Time Line, меня мучает...

Передача значения переменной из кода behind в xaml
Здравствуйте, суть вопроса такова, пытаюсь разобраться в wpf и столкнулся с проблемой: в коде по...

Как изменить контент frame другой xaml страницы?
Привет. Есть три xaml страницы. Главная где есть frame, страница меню и страница выбора одно из...

Указать путь к ресурсному словарю в другой сборке в XAML
Есть сборка Resources.dll и основной проект. Как в основном проекте в App.xaml подключить ресурсный...

4
229 / 207 / 92
Регистрация: 26.10.2012
Сообщений: 617
28.10.2014, 18:45 2
С помощью расширения x:Reference. В VerticalDraggableLine Plotter должнен быть свойством.

XML
1
2
3
4
5
<d3:ChartPlotter  MinHeight="350" MaxHeight="600" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="plotter" Margin="1,10,1,1"  MouseDown="plotter_MouseDown" ManipulationStarted="plotter_ManipulationStarted" MouseMove="plotter_MouseMove" HorizontalContentAlignment="Center">
            <d3:VerticalAxisTitle>Y</d3:VerticalAxisTitle>
            <d3:HorizontalAxisTitle>X</d3:HorizontalAxisTitle>
            [COLOR="Red"]<MyNamespace:VerticalDraggableLine x:Name="draggableLine" Plotter="{x:Reference plotter}" />[/COLOR]
        </d3:ChartPlotter>
0
3 / 3 / 1
Регистрация: 06.09.2013
Сообщений: 36
30.10.2014, 13:47  [ТС] 3
свойство плоттер не устанавливается(
вот код самого класса
C#
1
2
3
4
5
6
7
8
9
10
 public partial class VerticalDraggableLine : UserControl
    {
        bool dragging = false;
        ChartPlotter plotter;
 
        public ChartPlotter Plotter{
            get { return plotter; }
            set { this.plotter = value;}
        }
 ....
Добавлено через 25 секунд
plotter Всегда null
0
229 / 207 / 92
Регистрация: 26.10.2012
Сообщений: 617
30.10.2014, 13:57 4
Странно, у меня все устанавливается. Попробуй сделать его автосвойством.
0
3 / 3 / 1
Регистрация: 06.09.2013
Сообщений: 36
30.10.2014, 14:49  [ТС] 5
сделал так
XML
1
2
3
4
5
6
 
<d3:ChartPlotter  MinHeight="350" MaxHeight="600" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="plotter" Margin="1,10,1,1"  MouseDown="plotter_MouseDown" ManipulationStarted="plotter_ManipulationStarted" MouseMove="plotter_MouseMove" HorizontalContentAlignment="Center">
            <d3:VerticalAxisTitle>Y</d3:VerticalAxisTitle>
            <d3:HorizontalAxisTitle>X</d3:HorizontalAxisTitle>
            <MyNamespace:VerticalDraggableLine plotter="{x:Reference plotter}"></MyNamespace:VerticalDraggableLine>
        </d3:ChartPlotter>
C#
1
2
3
4
 public partial class VerticalDraggableLine : UserControl
    {
        bool dragging = false;
        public ChartPlotter plotter{ get; set; }
все равно null
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2014, 14:49

C# vs XAML
мне кажется или WPF это уже даже нефига не C#, а скорее один гольный XAML? везде где смотрю примеры...

C# и XAML
Здравствуйте! У меня есть код StackPanel, точнее много похожих StackPanel. Как сделать так, чтобы...

Конвертация 3d -> xaml
постоянно появляются дырки в модели при экспорте. Из 3ds max вообще даже куб весь дырявый....

XAML code in C#:
Здравствуйте. Помогите написать XAML код в C#. Вот код: &lt;ContentControl&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.