๋ชฉ๋กLanguage/C# (5)
๐ฉ๐ป๐พ

์ด๋ฒ ํฌ์คํ ์์๋ ToggleButton ๋๋ฆผ ๊ฐ์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฐ์ , ์ ๋ 6๊ฐ์ ToggleButton ์ค ์ต๋ 4๊ฐ๊น์ง ๋๋ฆด ์ ์๋๋ก ํ์์ต๋๋ค. ToggleButton ์ด 6๊ฐ๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ , ์ค์๊ฐ์ผ๋ก ToggleButton์ด ์ด ๋ช ๊ฐ ๋๋ ธ๋์ง ํ์ํ label๋ ์ฐ์ธก ์๋จ์ ํ๋ ๋ง๋ค์ด์ฃผ์์ต๋๋ค. ์ด์ IsChecked๊ฐ true์ false์ผ ๋ ๊ฐ๊ฐ์ ๋ฒํผ ์ด๋ฒคํธ๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. private int cnt = 0; private void ToggleButton_Checked(object sender, RoutedEventArgs e) { cnt += 1; lbl.Content = cnt; if (cnt > 4) { MessageBox.Show("์ต..

์ด๋ฒ ํฌ์คํ ์์๋ WPF ๋ด์์ ํ์ ๋ฉ์ธ์ง๋ฅผ ๋์ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. WPF์์๋ ํ์ ๋ฉ์ธ์ง ํ์์ด MessageBox๋ฐ์ ์์ด์ ์๋๋ก์ด๋ ์คํ๋์ค์์ ์ฌ์ฉ๋๋ ํ์ ๋ฉ์ธ์ง ๊ธฐ๋ฅ์ธ ํ ์คํธ(Toast)๋ฅผ TextBlock๊ณผ DoubleAnimation์ ์ด์ฉํ์ฌ ๋น์ทํ๊ฒ ๋ง๋ค์ด ๋ดค์ต๋๋ค. ์ฐ์ , ๋ฒํผ์ด ๋๋ ธ์ ๋ ํ์ ๋ฉ์ธ์ง๊ฐ ๋จ๋๋ก ํ๊ธฐ ์ํด Button๊ณผ ๋ฉ์ธ์ง๋ฅผ ๋์ธ TextBlock์ ์์ฑํด์ค๋๋ค. ๋ค์์ผ๋ก, ํ์ ๋ฉ์ธ์ง๋ฅผ ๋์ธ ํจ์๋ฅผ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.private void ToastMessage(string message) { Color clr = Color.FromRgb(200, 210, 145); SolidCo..

์ด๋ฒ ํฌ์คํ ์์๋ ๋ฒํผ(Button)์ ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ๋ง๋๋ ๋ฒ์ ๋ํด ์จ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. WPF์์ ๋ฒํผ์ ์ฒ์ ์์ฑ์, ์ด๊ธฐ ๋ชจ์๋ฆฌ๊ฐ์ 0์ผ๋ก ๊ฐ์ง ํํ์ ๋๋ค. ์ด๋, ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ํด์ฃผ๋ ์์ฑ์ด ์๋๋ฐ์ ๋ฐ๋ก 'CornerRadius' ์ ๋๋ค. ์ด ์์ฑ์ ์์ฑ์ฐฝ์์๋ ์ฐพ์๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ xaml์์ ์ฝ๋๋ก ์์ฑํด์ ๊ฐ์ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ์ฐ์ , ๋ฒํผ์ ํ๋ ์์ฑํด์ค๋๋ค. ์ด์ xaml์์ ํด๋น ๋ฒํผ์ ๋ํ CornerRadius ์์ฑ๊ฐ์ ์ค์ ํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ ํ๊ทธ๋ฅผ ์ถ๊ฐํ๊ณ ํ๊ทธ ์์ TargetType์ ๋ชจ์๋ฆฌ๋ก ์ง์ ํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ Property๋ฅผ CornerRadius๋ก ์ค์ ํ๊ณ ๊ฐ์ ์ ๋ ฅํด์ฃผ๋ฉด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ชจ์๋ฆฌ๊ฐ ๋ฅ๊ธ์ด์ง ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋์ ..

์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ(Data Binding)์ ์ฌ์ฉํด์ ํ์ฌ ๋ ์ง์ ์๊ฐ์ ํ์ํ๋ ๋ฒ์ ๋ํด ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์ Data Binding์ด๋? ๋ง๊ทธ๋๋ก ๋ฌถ์ด์ฃผ๋ ๊ธฐ๋ฅ์ ๋๋ค. View(xaml)์ ์ฝ๋(cs) ๋ฐ์ดํฐ๋ฅผ ๋ฌถ์ด์ ์ง์ ์ ๊ทผ์ ํ์ง ์์๋ ์๋ก ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ์ด ๋์์ ๋ ๋ฐ๋ ๋ฐ์ดํฐ๊ฐ ๋ฐ์์ด ๊ฐ๋ฅํด์ง๋๋ก ํฉ๋๋ค. ๋จผ์ , ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ csํ์ผ์ ์๋์ ๊ฐ์ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ค๋๋ค. ๋ค์์ผ๋ก, xaml์ ๋ ์ง์ ์๊ฐ์ ๊ฐ๊ฐ ํ์ํ TextBlock 2๊ฐ๋ฅผ ์์ฑํด์ฃผ์์ต๋๋ค. TextBlock์ ์์ฑํ์ผ๋ ์ด์ ๊ฐ๊ฐ์ Text์ ๋ ์ง์ ์๊ฐ ์ ๋ณด๊ฐ ๋จ๋๋ก ์์ ์์ฑํ DateNow ํด๋์ค์ ๊ฐ์ฒด ์ ๋ณด์ ๋ฐ์ธ๋ฉํด์ค์ผ ํฉ๋๋ค. ์ฐ์ , ์๋ ์ฝ๋์ ๊ฐ์ด xaml์ ํ๊ทธ ์์..

์ด๋ฒ ํฌ์คํ ์์๋ WPF์ ์ธ๋ถ ํฐํธ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฐ์ , visual studio์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ํฐํธ๊ฐ ์๋ ๋ค๋ฅธ ํฐํธ๋ฅผ ๋ค์ด์ ๋ฐ์ต๋๋ค. ๋ค์์ผ๋ก, visual studio์์ ์์ ์ค์ธ ํ๋ก์ ํธ ๋ด์ 'Font' ํด๋๋ฅผ ๋ง๋ค์ด์ค ๋ค, ํด๋์ ๋ค์ด ๋ฐ์ ํฐํธ ํ์ผ์ ๋ฃ์ด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ํฐํธ ํ์ผ์ ์์ฑ์ Resource๋ก ์ง์ ํด์ค๋๋ค. ์ด์ , ์ฌ์ฉํ๊ณ ์ ํ๋ ํฐํธ๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์ ์ ์ฝ๋์์ ๋ณด์ด๋ ๊ฑฐ์ฒ๋ผ FontFamily="WpfApp2; component/Font/#GyeonggiTitleOTF Light" ๋ฅผ xaml์ ์์ฑํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ด๋, ์ฃผ์ํ ์ ์ # ๋ค์ ์๋ฌธํฐํธ๋ช ์ ์จ์ค์ผ ํฉ๋๋ค. ํฐํธ๋ช ์ ํฐํธ ํ์ผ์์ ํ์ธํ ์ ์๋๋ฐ ํด๋น ํฐํธ์ฒ๋ผ ..