[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.
Powiadamianie o komentarzach
Jeżeli chciałbyś otrzymywać email gdy ta wypowiedź zostanie zaktualizowana, to zarejestruj się tutaj
Subskrybuj komentarze za pomocą
Komentarze:
Co o tym myślisz?
About Wojciech Gebczyk
Code Sculptor.