์ ๊ฐ wpf ์์ tab control์ ์ฌ์ฉ์ค์
1๋ฒ tab item์์ datagrid ์ ์๋ ๋ฐ์ดํฐ ํ๋๋ฅผ ๋๋ธํด๋ฆญ ํ์๊ฒฝ์ฐ, ๊ทธ ๋ฐ์ดํฐ ๊ฐ์ด
2๋ฒ tab item์ผ๋ก ์ด๋์ํค๋ ค๋ ์์
์ ํ๋์ค์
๋๋ค.
public void MoveresultTab(object obj)
{
MainViewModel.ChangeResults = true;
Time = Records[SelectedValue].Time; //records tab(1๋ฒtab)์ ์๋ time์ ์ฎ๊ธฐ๊ธฐ
}
์ ๋ ๊ฒ tab์ ์ด๋์ํจ ํ,
public string _time ;
public string Time
{
get { return _time; }
set
{
_time = value;
OnPropertyChanged("Time");
}
}
์ด๋ ๊ฒ ๋ฐ์ธ๋ฉ ์์ผ๋์ time์ ์ ์ฉ์ํค๋ ค ํ๋๋ฐ
๋๋ฒ๊น
์ ํด๋ณด๋ฉด _time, Time ๊ฐ๋ค์ ๋ฐ๋์ด๋ UI์์ ๊ฐ์ด ๋ฐ๋์ง ์๋๋ผ๊ตฌ์.. ์๊ทธ๋ด๊น์ ใ
ใ
2๊ฐ์ ์ข์์
@๋จธํ๋ฌ ํ์ํฉ๋๋ค 
ํน์ ์์ค์ฝ๋ ๋ด์ฉ์ ์ข ๋ ์๋ ค์ฃผ์ค ์ ์์ผ์ค๊น์?
๊ฐ์ํ ํด์ ๋ณด์ฌ์ฃผ์
๋ ์ข๊ณ ์.
๋๋ฒ๊น
์ผ๋ก set Time ๊ฐ์ด ๋ฌธ์ ์์์ ํ์ธํ์
จ์ผ๋,
TabControl๊ณผ {Binding Time}์ ํฌํจํ๋ Xaml ํ๋ฉด์ ๋ด์ผ ์ ๊ฒ ๊ฐ์ต๋๋ค.
ํน์ MoveresultTab() ํจ์๊ฐ ๋นํ์ธ๋ ์ฝ๋์์ ์คํํ๋์?
๋ด์ฉ์ MainViewModel.ChangeResults = true; ๊ฐ ์๋ ๊ฑธ๋ก ๋ด์ VM์ ๋ฐ๋ก ์๋ ๊ฒ ๊ฐ์๋ฐ,
์ด๊ณณ์ Time์ ๊ฐ์ ์
๋ฐ์ดํธํ๊ณ ์๋ ๊ฒ ๊ฐ์์์.
๋นํ์ธ๋ ์ฝ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก XAML๊ณผ ๊ฐ์ด ๋ง๋ค์ด์ง๋ cs ํ์ผ์
๋๋ค
(ex, MainWindow.xaml.cs).
๋ง์ฝ ๋นํ์ธ๋ ์ฝ๋์ ์ฐ์
จ๋ค๋ฉด ํด๋น ์ปจํธ๋กค์ ์ง์ ๊ฐ์ ์
๋ฐ์ดํธํ๊ฑฐ๋ ๋นํ์ธ๋ ์ฝ๋ ์์ฒด๊ฐ VM์ด ๋์ด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋งจ ์๋์ชฝ์ ์ฐ์ Time์ MainViewModel์ ๋๊ฐ์ด ์ ์ํ๋ฉด ๋ ๊ฒ ๊ฐ์์.
1๊ฐ์ ์ข์์
TabControl TabStripPlacement=โLeftโ HorizontalAlignment=โLeftโ Height=โ658โ Margin=โ10,32,0,0โ VerticalAlignment=โTopโ Width=โ1294โ
TabItem Header=โDataโ
Grid Background=โ#FFE5E5E5โ
TextBlock HorizontalAlignment=โLeftโ Height=โ27โ Margin=โ10,45,0,0โ Text=โ{Binding Time}โ TextWrapping=โWrapโ VerticalAlignment=โTopโ Width=โ113โ DataContext=โ{Binding page1}โ/
/Grid
/TabItem
/TabControl
์ด๋ ๊ฒ xaml์ ๋ฌ์์ต๋๋ค!์ฝ๋๋ก ํ์
1๊ฐ์ ์ข์์
Time ๋ง MainViewModel ์ฎ๊ฒจ๋ ์๋๋ค์โฆ ๋งจ์ฒ์ _time = โ1โ ์ด๋ ๊ฒ ํด๋์ผ๋ฉด 1์ ๋ค์ด๊ฐ์๋๋ฐ
๊ฐฑ์ ์ด ์๋๋๊ฑฐ๊ฐ๊ธฐ๋ํด์โฆ
1๊ฐ์ ์ข์์
@๋จธํ๋ฌ ์ ์ฒด ์์ค์ฝ๋๋ฅผ ์ฌ๋ ค์ฃผ์๊ฑฐ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์์
์ ๋ง์ํด์ฃผ์๋ฉด ์ํ ๋ง๋ค์ด๋๋ฆด ์ ์์ด์!
๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ์ฐธ๊ณ ํ์๋ฉด ์ง๋ฌธ ์์ฑํ์ค ๋ ์ฝ๋๋ฅผ ์ข ๋ ๊ฐ๋
์ฑ ์๊ฒ ์ฌ๋ฆฌ์ค ์ ์์ต๋๋ค.
Markdown ์ฝ๋๊ฐ ํฌํจ๋ ๋ฌธ์ ์์ฑ ์๋ น
2๊ฐ์ ์ข์์
์ง๊ธ ์ ๊ฐ์๊ฐํ๋ ๋ฌธ์ ๋
tabcontrol ์์ tab item1 ๋ฒ๊ณผ tabitem 2๋ฒ์ ์๋ก ๋ค๋ฅธ ViewModel๊ณผ xaml ์ ๋ง๋ค๊ณ ,
tabItem 1๋ฒ์ datagrid์์ ๋๋ธํด๋ฆญํ๊ฒ์ด
tabitem 2๋ฒ์ ๊ทธ ์ ๋ณด๋ค์ด ์ถ๋ ฅ๋๊ฒ ํ๋๊ฑด๋ฐ
์ด ๋๋ธํด๋ฆญํ๊ณ ์ถ๋ ฅ๋๊ฒ ํ๋ ๊ณผ์ ์ ๋๋ค๋ฅธ ViewModel์์ ์คํ์ ํ๊ฒ๋์ด์
์๋ก ๋ฐ์ธ๋ฉ๋๊ฒ๋ค๋ผ๋ฆฌ ์ํฅ์ ๋ชป์ฃผ๋๊ฑฐ๊ฐ์์. static๋ง๊ณ ๋ค๋ฅธ๋ฐฉ๋ฒ์ด์๋์?
1๊ฐ์ ์ข์์
@๋จธํ๋ฌ ์ํ ์๊ฒ ๋ค์. 
๋ ํญ์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ค๋ฅธ ViewModel์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ๋ง์ํ์ ๊ฒ ์ฒ๋ผ static์ผ๋ก ์ฒ๋ฆฌํ ์๋ ์์ง๋ง Binding์ ์ด์ฉํ์ฌ ๋ค์ํ๊ฒ ์ ๊ทผ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฐ๊ฐ ๊ฐ๋จํ๊ฒ ์ํ ๋ง๋ค์ด๋๋ฆด๊ฒ์.
๋๋ฌด ์น์ ํ์ญ๋๋คโฆ! ์ํ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค ๊ฐ์ฌํด์!
1๊ฐ์ ์ข์์
์ํ ์ฌ๋ ค๋๋ ธ์ต๋๋ค. 
์ค๋ช
์ ์ด๋ฐ๊ฐ ์๋ ๋ ์ ์ด๋์๊ฒ์.
์์ค์ฝ๋
1๊ฐ์ ์ข์์
์์ธ์ ๋๋ต ์ ๊ฒ ๊ฐ์๋ฐ ๋ญ๊ฐ ๋ง๋ก ์ค๋ช
ํ๊ธฐ ๊ต์ฅํ ์ด๋ ค์ด ์ผ์ด์ค๋ค์โฆ
Github ๊ฐ์ ๊ณณ์ ์ฝ๋๋ฅผ ์ฌ๋ฆฌ์
์ ๋ค๋ฅธ ๋ถ๊ป ๋์์ ๋ฐ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๊ฒ ๊ฐ์์.
1๊ฐ์ ์ข์์
์ฃผ์ ์ฝ๋ ์ ๋ฐ์์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค!
์ง๊ธ ๋ดค๋๋ฐ 1๊ฐ์ xaml์์ ์๋ํ๋๊ฑฐ๋ tab๋ง๋ค ์๋ก๋ค๋ฅธ xaml์์ ์์ฉํ๋๊ฒ ๊ฐ์์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง
ํ๋ฒ ์ฐธ๊ณ ์ผ์ ํด๋ณด๊ฒ ์ต๋๋คโฆ!
1๊ฐ์ ์ข์์
@๋จธํ๋ฌ
ํด๋ณด์๊ณ ๋ ๋ง์ํด์ฃผ์๋ฉด ์์ค ๊ณ์ ๊ณ ์ณ๋ณผ๊ฒ์. 