ずっと前にWindowsフォームで実装したクラスを新しいWPFプロジェクトで再利用しようとしています。OnRender
このクラスは、フォームにさまざまなオブジェクトを描画するオブジェクトを使用するメソッドをオーバーライドしますGraphics
。WPFでクラスを使用しているので、Graphics
オブジェクトをオブジェクトに置き換えましたDrawingContext
が、クラスの一部のメソッドがGraphics
実装されていません。特に、メソッドFillPie
、、は私が必要とするものです。これらのメソッドを実装するクラスは存在しますか?これらのメソッドを実装するにはどうすればよいですか?FillEllipse
DrawBeziers
質問する
960 次
1 に答える
1
これは、このようなものが実際にどのように機能するかを示す簡単な例です。
<Window x:Class="WpfApplication4.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Width="500"
Height="500">
<StackPanel>
<Slider Name="PositionSlider"
Margin="10"
Maximum="50"
Minimum="1"
Value="10" />
<Canvas Width="300" Height="300">
<Path Fill="Gold"
Stroke="Black"
StrokeThickness="1">
<Path.Data>
<EllipseGeometry Center="150,150"
RadiusX="{Binding ElementName=PositionSlider,
Path=Value}"
RadiusY="{Binding ElementName=PositionSlider,
Path=Value}" />
</Path.Data>
</Path>
</Canvas>
</StackPanel>
</Window>
上記の WPF は、単純なスライダーと円を示しています。円の半径は、スライダーの値にデータバインドされています。スライダーを動かすと円が大きくなったり小さくなったりします。古い世界では、スライダー (つまり、ズーム状態が変更されたとき) に、より大きな小さな円を描く再描画が行われます。しかし、WPF の世界では、これは依存関係プロパティとデータバインディングによって処理されます。
上記の例は非常に基本的なものです。値コンバーターと依存関係プロパティを実装するオブジェクトを使用してマルチバインディング バインディングを行うことで、より複雑なことを行うことができます。
于 2012-09-11T16:20:44.817 に答える