์ด๋ฒ 5์ BMW ๋ฐ์
๋ฐํ
CSharpForMarkup2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๊ฐ๋ฅผ ํ๊ธฐ ์ํด ์ํ์ฝ๋๋ฅผ ๋ค๋ฃจ๋ ์์ค์
์์ LukeMauiMarkup ๊ณผ ๋์ผํ ๋ฐฉ์์ HotReload๋ฅผ ์ฌ์ฉํ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๊ฐ ๋ถํ์ํ ์ฝ๋ ์ธํ
์ ์ค์ด๊ธฐ ์ํด LukeMarkup ์๋ฆฌ์ฆ๋ก Nuget์ ์ฌ๋ ธ์ต๋๋ค.
CSharpForMarkup ๊ฐ๋จ์๊ฐ
C#๊ธฐ๋ฐ์ ์ธ์ด๋ก UI๋ฅผ ๊ทธ๋ฆฐ๋ค๋ ์ทจ์ง๋ก ๋ฐํ์ ์ค(๋๋ฒ๊น ์ค) ๊ฐ๋จํ ์ปจํธ๋กค ์ถ๊ฐ ๋๋ ์์ ํ Ctrl + S(HotReload)์ ์์ ๋ ํ๋ฉด์ด ์ค์๊ฐ ์ ๋ก๋ ์ํฌ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
Nuget์ฃผ์
ํ๋ก์ ํธ ์ํ
- LukeWpfMarkupSample - ๊ธฐ๋ณธ๊ตฌ์ฑ
- Meetup์๋ฃ - ์ํ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ค
์ฐจ์ด์
- ํ๋ฉด ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ CSharpForMarkup2์ ๋ฐฉ์์ ๊ทธ๋๋ก ๋ฐ๋ผํ์์ผ๋ฉฐ,
์๋ ์์ ํด๋์ค(MarkupApplication, MarkupWindow, MarkupPage)๋ฅผ ํตํด CSharpForMarkup2๋ณด๋ค ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
Starter ํด๋์ค
public class Starter
{
[STAThread]
private static void Main(string[] args)
{
_= new App ()
.Run ();
}
}
App ํด๋์ค
public class App : MarkupApplication
{
public App()
{
MainWindow = new MainWindow();
}
}
MainWindow.cs
public class MainWindow : MarkupWindow
{
public MainWindow()
{
this.Build();
}
public override void Build() => Content =
VStack (
Button()
).Background(Blue);
}