tengo otra sugerencia para usted - la verdadera pregunta era:
"Me gustaría para permitir la sencilla disposición de una pantalla para editar en Run- tiempo editando el XAML. ¿Alguien sabe si esto es posible?
¡La respuesta es definitivamente "SÍ"! Y hay muchas formas de lograrlo, por supuesto, haciendo algunas suposiciones.
Si no tiene necesidad de manejar eventos o escribir convertidores de valores personalizados (o cualquier otra cosa que normalmente iría en el código) en la parte "dinámica" de su XAML, simplemente puede usar la clase XamlReader para analizar un archivo XAML o una cadena que contiene XAML. Como solo está editando el diseño, espero que estas suposiciones sean ciertas.
lo tanto, aquí es lo que haría:
1) todos los controles personalizados, modelos de datos, convertidores de valores, etc, y pegarlas en una asamblea.
2) Cargue ese ensamblaje, ya sea haciendo que su aplicación lo referencia o lo cargue dinámicamente; ambos funcionarán.
3) Cree una cadena/archivo/recurso (elija) que tenga su XAML que hace el diseño, complete con el mapeo de su espacio de nombres .NET en un espacio de nombres XML. ¡Asegúrese de no tener un atributo "x: Clase" en el elemento raíz ya que no tiene código detrás del archivo! La cadena usaría los controles WPF estándar (como el StackPanel) para diseñar sus controles personalizados. (Por supuesto, también puede escribir controles de diseño personalizados).
4) Permita que el usuario edite esta cadena. Cuando lo hayan editado, use el XamlReader para analizar el archivo y luego muestre el UIElement resultante en su ventana.
BINGO!
Un problema: cada vez que se cambia el XAML, se lanza la GUI y se crea una nueva. Si su GUI es segura (incluso si la posición actual de intercalación es importante), el usuario se molestará bastante rápido. Depende de cuál sea su intención de uso; esto puede no ser un problema.
Espero que con algo más de trabajo, podría escribir una ampliación de marca que se utiliza para referirse a las partes que está tratando de diseñar. De esta forma, podrían reutilizarse cuando cambie el diseño.
Espero que esto esté claro. Si no, avíseme y puedo ampliar el concepto, sería una buena entrada de blog.
esta es una visión útil. Tengo que investigar un poco para determinar si esto es lo que debo hacer. – YeahStu
Me complace ayudar aún más si el enfoque suena como lo que quiere hacer, pero no puedo lograr que WPF muestre buenos modales. daniel.paull en thinkbottomup.com.au si necesita contactarme. Cheers, Dan. –