es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puedo agregar elementos programáticamente a XAML? WPF c#

Quiero agregar elementos de lienzo por entrada de usuario. Algo así como cuando se hace clic en un botón, se agrega un nuevo elemento al archivo XAML, dentro del Canvas.



Soy nuevo en WPF, no estoy seguro si esta es la manera correcta de hacerlo.

Lo otro que estoy intentando es System.Windows.Media pero manipular el archivo XAML parece más fácil y agradable, ya que luego las ubicaciones de los dibujos están ancladas al lienzo. No estoy seguro si puedo lograr algo similar con System.Windows.Media.

Por lo tanto, mi pregunta está en el título, pero estoy abierto a otras sugerencias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, se puede lograr esto manipulando el archivo XAML. Puede usar las propiedades Canvas.Left y Canvas.Top para establecer la posición del elemento Ellipse. También puede usar la propiedad Canvas.ZIndex para establecer el orden de los elementos.

    Por ejemplo, cuando se hace clic en un botón, puede agregar un nuevo elemento <ellipse></ellipse> al archivo XAML, dentro del Canvas, con las propiedades deseadas:

    <canvas x:name="GraphDisplayFrame" grid.column="1" grid.row="0" grid.columnspan="3" grid.rowspan="4">
        <ellipse width="50" height="50" stroke="Black" strokethickness="2" canvas.left="100" canvas.top="100" canvas.zindex="1"></ellipse>
    </canvas>
    

Comments are closed.