Donde puedo comenzar a diseñar un Control Personalizado que contiene los objetos secundarios?

StackOverflow https://stackoverflow.com/questions/49562

  •  09-06-2019
  •  | 
  •  

Pregunta

Creo que este es un divertido ingeniería a nivel de pregunta.

Necesito el diseño de un control que muestra un gráfico de líneas.Lo que quiero ser capaz de hacer es utilizar un diseñador para agregar múltiples Pens que, en realidad, se describen los datos y presentación, por lo que se termina con Xaml algo a lo largo de estas líneas:

<Chart>
  <Pen Name="SalesData" Color="Green" Data="..."/>
  <Pen Name="CostData" Color="Red" Data="..." />
  ...
</chart>

Mi primer pensamiento es para ampliar ItemsControl para el Chart clase.Se que me recibe a donde quiero ir o debería ser lo mira desde una dirección diferente, tales como la ampliación de Panel?

El requisito principal es ser capaz de utilizarlo en un diseñador de sin la adición de ningún código de C#.En orden para que incluso a ser posible, que necesita para mantener su estructura en la vista de árbol modelo.En otras palabras, si yo estuviera trabajando con esto en Expression Blend o Mobiform Aurora, me gustaría ser capaz de seleccionar el gráfico del árbol lógico o seleccionar cualquiera de los corrales individuales para editar sus propiedades.

¿Fue útil?

Solución

Me gustaría ir con el Gráfico como un ItemsControl y su ItemsPanel ser una Lona(Para algunos el uso de la luz me gustaría ir con la Cuadrícula de ItemsPanel).Y cada Pluma será un CustomControl derivados de la Polilínea de la clase.¿Tiene esto algún sentido?

Otros consejos

Para los interesados en hacer su propio control de un desarrollo personal punto de vista (como se indica en la pregunta original), entonces yo sugeriría que una estructura de este formato.

<Chart>
  <Chart.Pens>
    <Pen Name="SalesData" Data="{Binding Name=SalesData}" />        
    <Pen Name="CostData">
      <Pen.Data>
        <PenData Y="12" X="Jan" />
        <PenData Y="34" X="Feb" />
      </Pen.Data>
    </Pen>
  </Chart.Pens>
</Chart>

Para que usted tendrá que exponer un Plumas de la colección en el control de usuario (no quiero ver esto como un derivado de ItemsControl de control).Este derivado de control de usuario se va a encapsular otros controles normalmente una cuadrícula para colocar una etiqueta para el título, las etiquetas para el eje de nombres, posiblemente un Lienzo para el área de dibujo y un ItemsControl para mostrar los elementos de la Leyenda.


Para aquellos que buscan un listo para ir a la solución de

Para aquellos que buscan un listo para ir a la solución, a continuación, me gustaría comprobar fuera de CodePlex para VisiFire es WPF gráfico de control.Es de WPF y Silverlight compatible y que incluso tiene una Aplicación de Silverlight para que usted ingrese sus datos y de estilo, y genere el código XAML (o HTML) para pegar en la aplicación.

Otra opción es extender la Lona para el gráfico y ampliar la Forma de las Plumas.Dinámicamente dibujar la forma basada en el Color/propiedades de Datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top