標籤:ar color 使用 sp for strong on 資料 問題
在使用ListView作為信心呈現載體開發應用程式時,我們經常需要通過監視捲軸(ScrollViewer)的位置狀態來完成一些互動邏輯。最直接的體現就是 延時載入,(上滑載入更多,下拉擷取更新資料)。
我們可以通過 scrollViewer的ViewChanged事件,來完成這些邏輯。
那麼問題來了。(- -!不是說挖掘機……..)
如何從ListView中,擷取ScrollViewer對象?
1.我們可以通過這樣一個方法來 擷取ListView下的ScrollViewer對象。 方法定義如下。
//這個方法可以擷取ListView下的ScrollViewer對象。
public static T FindVisualChildByName<T>(DependencyObject parent, string name) where T : DependencyObject
{
try
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
{
var child = VisualTreeHelper.GetChild(parent, i);
string controlName = child.GetValue(Control.NameProperty) as string;
if ((string.IsNullOrEmpty(name) || controlName == name) && child is T)
{
return child as T;
}
else
{
T result = FindVisualChildByName<T>(child, name);
if (result != null)
return result;
}
}
return null;
}
catch
{
return null;
}
}
2.//在listview的loaded事件中,調用FindVisualChildByName<T>方法,擷取ScrollView對象。
private void listview1_Loaded(object sender, RoutedEventArgs e)
{
//調用FindVisualChildByName<T>方法,擷取ScrollView對象。
ScrollViewer scrollViewer = FindVisualChildByName<ScrollViewer>(listview1, "ScrollViewer");
//給這個scrollViewer加事件。
scrollViewer.ViewChanged += scrollViewer_ViewChanged;
}
Windows Phone 8.1開發:如何從ListView中,擷取ScrollViewer對象