Stack panel (WPF) elérés külső osztályból

Stack panel (WPF) elérés külső osztályból
2012-11-03T20:43:48+01:00
2012-11-04T03:58:45+01:00
2022-11-27T07:25:46+01:00
Aldebaran
Egy WPF alkalmazásban egy stack panel-re akarok rajzolni.


XAML:

<Window x:Class="CanvasDrawDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MozgásTérKép" Height="400" Width="350" Icon="/CanvasDrawDemo.MainWindow;component/Images/favicon_02.ico" Background="White"> <StackPanel Background="AliceBlue"> <Canvas x:Name="canvas" Width="320" Height="320" Margin="5" Background="White" DataContext="{Binding}" VerticalAlignment="Stretch" /> <Button x:Name="startDraw" Content="Start simulation" Margin="5" Click="startDraw_Click" Height="23" Width="97" /> </StackPanel> </Window>


Amennyiben a MainWindow class-on belül rajzolok, így tudom elérni a canvast:

private void startDraw_Click(object sender, RoutedEventArgs e) { Canvas myCanvas = this.FindName("canvas") as Canvas; ... ...

Mivel át akarom tenni a rajzoló metodikát egy másik (Circle) struct-ba, hogy a kör magát rajzolhassa fel, keresem a módját annak, hogyan tudok onnan erre a stack panelre hivatkozni.
Mutasd a teljes hozzászólást!
private void startDraw_Click(object sender, RoutedEventArgs e) { var circle = new Circle(); circle.Draw(this.FindName("canvas") as Canvas); }

másik fájlban:

class Circle { public void Draw(Canvas target) { // rajzolunk } }
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd