UserControl์ Dependecy Property๋ฅผ ์ด์ฉํด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ต๋๋ค.
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
nameof(logText), typeof(string), typeof(ConsoleControl), new PropertyMetadata(string.Empty));
public string logText
{
get { return (string)GetValue(TextProperty); }
set
{
var r = ProcessLogData(value);
// SetValue(TextProperty,r);
SetValue(TextProperty,Value)
}
}
์๋ ์ ์ ์๊ฐ์ View์์ ๊ฐ์ ํด๋น ์์ฑ๊ฐ์ผ๋ก ์ ๋ฌํด์ฃผ๋ฉด setter๊ฐ ๋์ํด์ผํ๋ค๊ณ ์๊ฐํ๋๋ฐ, setter๋ ์ ํ ๋์ํ์ง ์๋ค์.
setter์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ณ ๊ทธ๋ค์์ SetValue๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ค๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋์์๋ฆฌ๊ฐ ์ดํด๊ฐ ์๊ฐ๋๋ค.
ํด์ธ ์ปค๋ฎค๋ํฐ๋ฅผ ์ฐพ์๋ด๋ dependency property๋ SetValue ์์ฒด๋ฅผ ๊ฐ์ ธ์จ๋ค๋ ๋ง๋ฐ์ ์์ด์.. ํผ๋์ด ์ค๋ค์..
๊ฒฐ๋ก ์ Main์์ ์์ฑ๊ฐ์ผ๋ก ๋๊ฒจ์ค ๋ฐ์ดํฐ๋ฅผ userControl ๋นํ์ธ๋์์ ๊ฐ๊ณตํ์ฌ userControl์ TextBox์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์๋ฐ ๋ฐฉ๋ฒ์ด ์๋์??
UserControl์ xaml์ ๋ฐ์ธ๋ฉ๊น์ง ๋ค ํด๋จ์ต๋๋ค. ๊ฐ๊ณต ์์ด ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋๋๊ฒ๊น์ง ํ์ธ์ด ๋๋๋ฐ, ๊ฐ๊ณตํ๋ค์ ๋ฐ์ธ๋ฉ์ ์ด๋ป๊ฒ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค์..
๊ณ ์๋๋ค์ ๋ต๋ณ ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
ps.Setter ์์ SetValue๋ฅผ ์ง์๋ UI ์ ๋ฐ์ดํฐ๋ ์ฌ๋ผ๊ฐ๋ค์.. ์ ๊ธฐโฆ