์๋ ํ์ธ์
WPF DataGrid ์ฌ์ฉ์ค์ธ๋ฐ ํ๊ฐ์ง ๋ฌธ์์ข ๋๋ฆฝ๋๋ค
์๋ฅผ๋ค์ด ์๋์ ๊ฐ์ MyData ํด๋์ค๋ฅผ DataGrid ์ ๋ฐ์ธ๋ฉ ํ๋ ค๊ณ ํฉ๋๋ค
public class MyData
{
public int Id {get;set;}
public bool IsReadOnly {get;set;}
public string Value {get;set;}
}
๊ทธ๋ฆฌ๊ณ xaml ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค (MyData ๋ฐ์ธ๋ฉํ์์ผ๋ฉฐ xaml ์ฝ๋๋ ๊ฐ๋ตํ๊ฒ ์์ฑํ์ต๋๋ค)
<DataGrid.Columns>
<DataGridTextColumn Header="Id" IsReadOnly="True" Binding="{Binding Id}"/>
<DataGridTextColumn Header="IsReadOnly" IsReadOnly="True" Binding="{Binding IsReadOnly}"/>
<DataGridTextColumn Header="Value" IsReadOnly="False" Binding="{Binding Value}"/>
</DataGrid.Columns>
์ฌ๊ธฐ์ ๊ถ๊ธํ๊ฑด
MyData ์ IsReadOnly ์ ๊ฐ์๋ฐ๋ผ Value ์ปฌ๋ผ์ ์ฝ๊ธฐ์ ์ฉ ์์ฑ์ ์๋์ผ๋ก ์ค์ ํ๋๋ก ํ๊ณ ์ถ์๋ฐ
ํ์ฌ๋ ๊ทธ ๋ฐฉ๋ฒ์ ๋ชฐ๋ผ์ ์ผ๋จ False ๋ก ์ง์ ํ์์ต๋๋ค
xaml ์ฝ๋์์ Binding ์ ์ฌ์ฉํ๋ฉด DataGridTextColumn ์ด ํ์ํ๋ ํ ์คํธ๊ฐ์ ๋์์ผ๋ก ํ๋๊ฒ๊ฐ์๋ฐ
DataGridTextColumn ์ IsReadOnly ๊ฐ์ ์์ฑ์ MyData.IsReadOnly ๊ฐ์ ๋ฐ์ธ๋ฉ์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ๋์ง ๋ฐฉ๋ฒ์ด ๊ถ๊ธํฉ๋๋ค.