{"id":8184,"date":"2023-12-28T16:49:33","date_gmt":"2023-12-28T07:49:33","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=8184"},"modified":"2024-03-22T17:13:21","modified_gmt":"2024-03-22T08:13:21","slug":"wpf-viewmodel-%ec%97%90%ec%84%9c-view-%ec%bb%a8%ed%8a%b8%eb%a1%a4%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=8184","title":{"rendered":"WPF \u2013 ViewModel \uc5d0\uc11c View \ucee8\ud2b8\ub864\ud558\uae30"},"content":{"rendered":"<h1>WPF \u2013 ViewModel \uc5d0\uc11c View \ucee8\ud2b8\ub864\ud558\uae30<\/h1>\n<h2>\uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131<\/h2>\n<p>\uba54\uc18c\ub4dc\uba85\uc744 \uc801\uc808\ud558\uac8c \uc218\uc815\ud574\uc11c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">public interface IDataGridScrollToTop\n{\n    void ScrollToTop();\n}<\/code><\/pre>\n<h2>View \uc218\uc815 01<\/h2>\n<p>\uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0c1\uc18d\ud558\uace0, \uba54\uc18c\ub4dc\ub97c \uad6c\ud604\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">public partial class View : IDataGridScrollToTop\n{\n    public void ScrollToTop()\n    {\n        if (alaramgrid.Items != null &amp;&amp; alaramgrid.Items.Count &gt; 0)\n        {\n            alaramgrid.ScrollIntoView(alaramgrid.Items[0]);\n        }\n    }\n}<\/code><\/pre>\n<h2>ViewModel \uc218\uc815 01<\/h2>\n<p>View \ub97c \uc800\uc7a5\ud560 \uc218 \uc788\ub294 \ubcc0\uc218\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">public class ViewModel\n{\n    public IDataGridScrollToTop View { get; set; }\n}<\/code><\/pre>\n<h2>View \uc218\uc815 02<\/h2>\n<p>View \uc5d0\uc11c ViewModel \uc5d0 \uc788\ub294 \ubcc0\uc218\uc5d0 \ubdf0\ub97c \uc124\uc815\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">public XXXXView(XXXXViewModel viewModel)\nthis.DataContext = viewModel;\nviewModel.View = this as IDataGridScrollToTop;<\/code><\/pre>\n<h2>ViewModel \uc218\uc815 02<\/h2>\n<p>\uc544\ub798\uc758 \ubc29\uc2dd\uc73c\ub85c ViewModel \uc5d0\uc11c View \uc758 \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">View.ScrollToTop();<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>WPF \u2013 ViewModel \uc5d0\uc11c View \ucee8\ud2b8\ub864\ud558\uae30 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131 \uba54\uc18c\ub4dc\uba85\uc744 \uc801\uc808\ud558\uac8c \uc218\uc815\ud574\uc11c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. public interface IDataGridScrollToTop { void ScrollToTop(); } View \uc218\uc815 01 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0c1\uc18d\ud558\uace0, \uba54\uc18c\ub4dc\ub97c \uad6c\ud604\ud569\ub2c8\ub2e4. public partial class View : IDataGridScrollToTop { public void ScrollToTop() { if (alaramgrid.Items != null &amp;&amp; alaramgrid.Items.Count &gt; 0) { alaramgrid.ScrollIntoView(alaramgrid.Items[0]); } } } ViewModel \uc218\uc815 01 View\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=8184\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[],"class_list":["post-8184","post","type-post","status-publish","format-standard","hentry","category-language"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8184"}],"version-history":[{"count":8,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8184\/revisions"}],"predecessor-version":[{"id":8820,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8184\/revisions\/8820"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}