[Ww.Xaml] Xaml i Wpf

Przy okazji pracy nad paroma rzeczami w WPFie, da sie zauwazyc rozdzielnosc XAMLa i WPFa rozumianego jako frameworka UI. XAMLa mozna wykorzystac nie tylko w WPFie ale i na przyklad rowniez w WinFormsach

Kod:
using System.Windows.Markup;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace Ww.WpfAndWinForms {
    static class EntryPoint {
        static void Main() {
            string formsXaml = @"
                <Form xmlns='clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms'
                    FormBorderStyle='FixedSingle'
                    MaximizeBox='false'
                    MinimizeBox='false'
                    ClientSize='240,150'
                    StartPosition='CenterScreen'
                >
                    <Form.Controls>
                        <Label Text='Choose color:' Top='8' Left='16' />
                        <RadioButton Text='Red' Top='28' Left='24' />
                        <RadioButton Text='Green' Top='48' Left='24' />
                        <RadioButton Text='Blue' Top='68' Left='24' />
                        <RadioButton Text='None' Top='88' Left='24' Checked='true' />
                        <Button Text='Accept' Top='118' Left='16' Width='100' />
                        <Button Text='Cancel' Top='118' Left='124' Width='100' />
                    </Form.Controls>
                </Form>";
            using (XmlReader r = XmlReader.Create(new StringReader(formsXaml))) {
                object o = XamlReader.Load(r);
                System.Windows.Forms.Application.Run((Form)o);
            }
        }
    }
}



Plik csproj (fragment):
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.XML" />
    <Reference Include="WindowsBase" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
  </ItemGroup>

Dopoki wymagania XAMLa w stosunku do obiektow sa spelnione to taka deserializacja bedzie dzialala.

Inny pomysl jaki mi przychodzi do glowy to uzycie XAMLa jako formatu wiadomosci jakiegos rodzaju uslug. Gdzie poza standardowymi "tagami" obiektow mozna by wytworzyc extensions i jakos ciekawie wykorzystac (lepsza walidacja? jakies metadane?). Nie mam nic konkretnego na mysli, ale moglo by cos z tego wyniknac.
Opublikowane 26 lipca 07 01:01 przez Wojciech Gebczyk
Filed under: , , , ,

Komentarze:

Brak komentarzy
Komentarze anonimowe wyłączone

About Wojciech Gebczyk

Code Sculptor.