0

wpfアプリケーションを使用して画像のような3Dパイプを描画し、それをwpfのカスタムコントロールに埋め込む必要があります..xamlファイルを使用してパイプのようなものを描画しましたが、フルサイズの正しい画像を取得できません..グラフィックを使って..

4

2 に答える 2

4

xaml:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ht="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf" 
        Title="MainWindow" Height="350" Width="525">

    <Grid>
        <ht:HelixViewport3D x:Name="MainViewPort">
            <ht:SunLight  />
            <ht:GridLinesVisual3D/>
        </ht:HelixViewport3D>
    </Grid>
</Window>

背後にあるコード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using HelixToolkit.Wpf;
using System.Windows.Media.Media3D;

namespace WpfApplication1
{

    public partial class MainWindow : Window
    {

        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
            DrawMeshes();
        }

        private void DrawMeshes()
        {
            int tubeDiameter = 15;

            TubeVisual3D tube1 = new TubeVisual3D();
            tube1.Path = new Point3DCollection();
            tube1.Path.Add(new Point3D(-15, 0, 0));
            tube1.Path.Add(new Point3D(15, 0, 0));
            tube1.Diameter = tubeDiameter;
            tube1.Fill = Brushes.Red;
            tube1.IsPathClosed = false;

            MainViewPort.Children.Add(tube1);
        }
    }
}
于 2013-02-01T13:19:34.930 に答える
0

Helix Toolkitを見てください。パイプの例を含む、wpf 3D の優れたコントロールがいくつかあります。

于 2012-10-09T08:45:04.747 に答える