これは非常にシンプルですが、私はまだ解決策を見つけられませんでした。またはすぐに狂ってしまうでしょう。同じ図の行の辺に楕円をつけてください
私はちょうどCanvas
にItemsControl
でLine
を描き、Line
は、両端のEllipse
を持つべきであるということにしたいです。
私のItemsControlには、次のようになります:
<ItemsControl ItemsSource="{Binding Connections}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type systemEnvironmentViewModels:SystemEnvironmentConnectionViewModel}">
<systemEnvironment:ConnectionView/>
</DataTemplate>
<Style TargetType="ContentPresenter"> <!-- this does only make it worse -->
<Setter Property="Canvas.Left" Value="{Binding Connection.FirstElementCoordinate.X}"/>
<Setter Property="Canvas.Top" Value="{Binding Connection.FirstElementCoordinate.Y}"/>
</Style>
</ItemsControl.Resources>
</ItemsControl>
とのDataTemplateとして使用されているビュー:このような私が望むよう
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Ellipse x:Name="DependencyEllipse" Width="10" Height="10" Fill="Black" Grid.Column="0"/>
<Line X1="{Binding Connection.FirstElementCoordinate.X}" X2="{Binding Connection.SecondElementCoordinate.X}"
Y1="{Binding Connection.FirstElementCoordinate.Y}" Y2="{Binding Connection.SecondElementCoordinate.Y}"
Stroke="Black" StrokeThickness="5" x:Name="ConnectionLine" Grid.Column="1"/>
<Ellipse x:Name="SecondDependencyEllipse" Width="10" Height="10" Fill="Black" Grid.Column="2"/>
</Grid>
結果は何も見てないんや私はGrid
の列を使ってもおそらく動作しませんが、私が思うように、私が思うように要素を分割することができると思います。私はちょうど楕円のために別のItemsControlのために行く必要があります
またContentPresenter
ためStyle
はそれなしに私が望むように私のラインが引かれますが、Ellipses
が
間違っているので、間違っているようですか? ヘルプは大歓迎です。
ありがとうございました!私のためにWPFについて学ぶことはまだまだあります。 – fbueckle
よろしくお願いいたします。実際には学ぶべきことがたくさんあるので、WPFの非常に良い本がいくつかあります。それらの1つまたは2つを読む価値があります。 StackOverflowだけでは不十分です。 – Clemens
1冊以上の本をお勧めしますか? – fbueckle