Dreamine.UI.Wpf 1.0.1
Dreamine.UI.Wpf 사용자 인터페이스 기능과 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior 클래스 참조

더 자세히 ...

정적 Public 멤버 함수

static void SetIsEnabled (DependencyObject element, bool value)
static bool GetIsEnabled (DependencyObject element)

정적 Public 속성

static readonly DependencyProperty IsEnabledProperty

정적 Private 멤버 함수

static void OnIsEnabledChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
static void OnLoaded (object sender, RoutedEventArgs e)
static void OnUnloaded (object sender, RoutedEventArgs e)
static void Attach (ListBox listBox)
static void Detach (ListBox listBox)
static void ScrollToLast (ListBox listBox)

정적 Private 속성

static readonly DependencyProperty SubscriptionProperty

상세한 설명

ListBox가 최신 항목을 표시하도록 자동 스크롤하는 연결 동작을 제공합니다.

활성화하면 INotifyCollectionChanged를 구현하는 항목 소스의 변경을 구독합니다.

AutoScrollListBoxBehavior.cs 파일의 23 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ Attach()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.Attach ( ListBox listBox)
inlinestaticprivate

목록의 항목 소스가 지원하는 컬렉션 변경 이벤트를 구독합니다.

매개변수
listBox구독을 연결할 목록입니다.

AutoScrollListBoxBehavior.cs 파일의 248 번째 라인에서 정의되었습니다.

249 {
250 Detach(listBox);
251
252 if (listBox.ItemsSource is not INotifyCollectionChanged incc)
253 return;
254
255 NotifyCollectionChangedEventHandler handler = (_, __) =>
256 {
257 listBox.Dispatcher.InvokeAsync(() => ScrollToLast(listBox));
258 };
259
260 incc.CollectionChanged += handler;
261 listBox.SetValue(SubscriptionProperty, handler);
262 }

다음을 참조함 : Detach(), ScrollToLast(), SubscriptionProperty.

다음에 의해서 참조됨 : OnLoaded().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Detach()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.Detach ( ListBox listBox)
inlinestaticprivate

목록에 저장된 이전 컬렉션 변경 구독을 해제합니다.

매개변수
listBox구독을 해제할 목록입니다.

AutoScrollListBoxBehavior.cs 파일의 280 번째 라인에서 정의되었습니다.

281 {
282 if (listBox.ItemsSource is INotifyCollectionChanged incc &&
283 listBox.GetValue(SubscriptionProperty) is NotifyCollectionChangedEventHandler handler)
284 {
285 incc.CollectionChanged -= handler;
286 }
287
288 listBox.ClearValue(SubscriptionProperty);
289 }

다음을 참조함 : SubscriptionProperty.

다음에 의해서 참조됨 : Attach(), OnIsEnabledChanged(), OnUnloaded().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetIsEnabled()

bool Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.GetIsEnabled ( DependencyObject element)
inlinestatic

대상 종속성 개체에서 자동 스크롤 활성화 여부를 가져옵니다.

매개변수
element값을 읽을 종속성 개체입니다.
반환값
활성화되어 있으면 true이고, 그렇지 않으면 false입니다.
예외
ArgumentNullExceptionelementnull인 경우 발생합니다.

AutoScrollListBoxBehavior.cs 파일의 107 번째 라인에서 정의되었습니다.

108 => (bool)element.GetValue(IsEnabledProperty);

다음을 참조함 : IsEnabledProperty.

◆ OnIsEnabledChanged()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.OnIsEnabledChanged ( DependencyObject d,
DependencyPropertyChangedEventArgs e )
inlinestaticprivate

자동 스크롤 활성화 값 변경을 처리하여 수명 주기 이벤트를 연결하거나 해제합니다.

매개변수
d값이 변경된 종속성 개체입니다.
e종속성 속성 변경 데이터입니다.

AutoScrollListBoxBehavior.cs 파일의 149 번째 라인에서 정의되었습니다.

150 {
151 if (d is not ListBox listBox)
152 return;
153
154 if ((bool)e.NewValue)
155 {
156 listBox.Loaded += OnLoaded;
157 listBox.Unloaded += OnUnloaded;
158 }
159 else
160 {
161 listBox.Loaded -= OnLoaded;
162 listBox.Unloaded -= OnUnloaded;
163 Detach(listBox);
164 }
165 }

다음을 참조함 : Detach(), OnLoaded(), OnUnloaded().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnLoaded()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.OnLoaded ( object sender,
RoutedEventArgs e )
inlinestaticprivate

목록이 로드되면 항목 소스 변경을 구독하고 마지막 항목으로 이동합니다.

매개변수
sender로드된 목록입니다.
e라우트 이벤트 데이터입니다.

AutoScrollListBoxBehavior.cs 파일의 191 번째 라인에서 정의되었습니다.

192 {
193 if (sender is not ListBox listBox)
194 return;
195
196 Attach(listBox);
197 ScrollToLast(listBox);
198 }

다음을 참조함 : Attach(), ScrollToLast().

다음에 의해서 참조됨 : OnIsEnabledChanged().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnUnloaded()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.OnUnloaded ( object sender,
RoutedEventArgs e )
inlinestaticprivate

목록이 언로드되면 항목 소스 변경 구독을 해제합니다.

매개변수
sender언로드된 목록입니다.
e라우트 이벤트 데이터입니다.

AutoScrollListBoxBehavior.cs 파일의 224 번째 라인에서 정의되었습니다.

225 {
226 if (sender is not ListBox listBox)
227 return;
228
229 Detach(listBox);
230 }

다음을 참조함 : Detach().

다음에 의해서 참조됨 : OnIsEnabledChanged().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ScrollToLast()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.ScrollToLast ( ListBox listBox)
inlinestaticprivate

항목이 있으면 목록의 마지막 항목이 보이도록 스크롤합니다.

매개변수
listBox스크롤할 목록입니다.

AutoScrollListBoxBehavior.cs 파일의 307 번째 라인에서 정의되었습니다.

308 {
309 if (listBox.Items.Count <= 0)
310 return;
311
312 var last = listBox.Items[listBox.Items.Count - 1];
313 listBox.ScrollIntoView(last);
314 }

다음에 의해서 참조됨 : Attach(), OnLoaded().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetIsEnabled()

void Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.SetIsEnabled ( DependencyObject element,
bool value )
inlinestatic

대상 종속성 개체의 자동 스크롤 활성화 여부를 설정합니다.

매개변수
element값을 설정할 종속성 개체입니다.
value활성화하려면 true입니다.
예외
ArgumentNullExceptionelementnull인 경우 발생합니다.

AutoScrollListBoxBehavior.cs 파일의 72 번째 라인에서 정의되었습니다.

73 => element.SetValue(IsEnabledProperty, value);

다음을 참조함 : IsEnabledProperty.

멤버 데이터 문서화

◆ IsEnabledProperty

readonly DependencyProperty Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.IsEnabledProperty
static
초기값:
=
DependencyProperty.RegisterAttached(
"IsEnabled",
typeof(bool),
new PropertyMetadata(false, OnIsEnabledChanged))
static void OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)

자동 스크롤 활성화 여부를 저장하는 연결 속성입니다.

AutoScrollListBoxBehavior.cs 파일의 33 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : GetIsEnabled(), SetIsEnabled().

◆ SubscriptionProperty

readonly DependencyProperty Dreamine.UI.Wpf.Behaviors.AutoScrollListBoxBehavior.SubscriptionProperty
staticprivate
초기값:
=
DependencyProperty.RegisterAttached(
"Subscription",
typeof(NotifyCollectionChangedEventHandler),
new PropertyMetadata(null))

구독 해제에 필요한 컬렉션 변경 처리기를 보관하는 내부 연결 속성입니다.

AutoScrollListBoxBehavior.cs 파일의 118 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Attach(), Detach().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: