Visual Studio: как получить доступ к элементам из класса? - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь создать приложение. Я хочу, чтобы мой класс получил доступ к таким элементам, как Сетка, Холст, Кнопка в моем окне.

Однако я могу звонить только из основного.
Я пытался использовать ссылку, но моя попытка была неудачной.

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="590" Width="855">
    <Grid>
        <Canvas Height="428" HorizontalAlignment="Left" Margin="12,12,0,0" Name="myCanvas" VerticalAlignment="Top" Width="647" Background="White">
            <Label Content="Label" Height="29" Name="Label1" Canvas.Left="283" Canvas.Top="0" />
            <Label Content="Label" Height="28" Name="Label2" Canvas.Left="329" Canvas.Top="1" />
            <Rectangle Height="30" Width="30" Fill="#49D8FF00" Canvas.Left="83" Canvas.Top="164" Name="user"></Rectangle>
            <Button Canvas.Left="593" Canvas.Top="6" Content="FindPath" Height="23" Name="button1" Width="88" Click="button1_Click" />
            <Label Canvas.Left="568" Canvas.Top="66" Content="Display Map here" Height="251" Width="253" Name="mapDisplayer" />
        </Canvas>
    </Grid>
</Window>

Это код XAML для моей программы. Я хочу получить доступ к одному из этих многих предметов. Я пытался использовать имя каждого предмета для вызова. Например, myCanvas, но я получаю сообщение об ошибке, в котором говорится, что имя «myCanvas» не существует в текущем контексте.

1 Ответ

2 голосов
/ 31 января 2012

Как реализован ваш код? Я не уверен, что понимаю ваш вопрос, но я думаю, что вам нужно получить экземпляр основной формы.

Например

class myClass
{
    public myClass(Window1 instance)
    {
        instance.myGrid.Width= 512;

        //Window1 .myGrid.Width= 512; will not work because myGrid is not static.
    }
}

public partial class Window1 : Window
{
    public Window1 ()
    {
         myClass m = new myClass(this);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...