国产精品青草久-国产精品情侣愉拍-国产精品区网红主-国产精品区一区二-国产精品热久久-国产精品热热热-国产精品人aⅴ-国产精品人成在线-国产精品人妻人伦-国产精品人人

金喜正规买球

教你輕松修改wpf 中NumericUpDown 控件樣式

轉帖|其它|編輯:郝浩|2011-01-18 15:32:53.000|閱讀 3236 次

概述:我這里提供的是在網上找的別人自己寫好的NumericUpDown 控件,然后我進行了樣式修改,修改之后是長按向上鍵,值會不停的增大,直至最大值,同理,長按向下鍵,值會不停的減小,直至最小值(就是把以前的 Button換成了RepeatButton)。單擊功能仍和以前一樣。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

  NumericUpDown 控件看起來像是一個文本框與一對用戶可單擊以調整值的箭頭的組合。該控件顯示并設置固定的數值選擇列表中的單個數值。用戶可以通過單擊向上和向下、按向上和向下鍵或在控件的文本框部件中鍵入一個數字來增大和減小數字。單擊向上鍵時,值向最大值方向移動;單擊向下鍵時,值向最小值方向移動。

  我這里提供的是在網上找的別人自己寫好的NumericUpDown 控件,然后我進行了樣式修改,修改之后是長按向上鍵,值會不停的增大,直至最大值,同理,長按向下鍵,值會不停的減小,直至最小值(就是把以前的Button換成了RepeatButton)。單擊功能仍和以前一樣。

代碼奉上:

  首先這個是自定義控件:

public class NumericUpDown : Control
{
static NumericUpDown()
{
InitializeCommands();

// Listen to MouseLeftButtonDown event to determine if NumericUpDown should move focus to itself
EventManager.RegisterClassHandler(typeof(NumericUpDown),
 Mouse.MouseDownEvent, new MouseButtonEventHandler(NumericUpDown.OnMouseLeftButtonDown), true);

DefaultStyleKeyProperty.OverrideMetadata(typeof(NumericUpDown),

new FrameworkPropertyMetadata(typeof(NumericUpDown)));
}

public NumericUpDown()
: base()
{
updateValueString();
}

#region Properties

#region Value

public decimal Value
{
get { return (decimal)GetValue(ValueProperty); }
set { SetValue(ValueProperty, value); }
}

/// <summary>
/// Identifies the Value dependency property.
/// </summary>
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register(
"Value", typeof(decimal), typeof(NumericUpDown),
new FrameworkPropertyMetadata(DefaultValue,
new PropertyChangedCallback(OnValueChanged),
new CoerceValueCallback(CoerceValue)
)
);

private static void OnValueChanged(DependencyObject obj,

DependencyPropertyChangedEventArgs args)
{
NumericUpDown control = (NumericUpDown)obj;

decimal oldValue = (decimal)args.OldValue;
decimal newValue = (decimal)args.NewValue;

#region Fire Automation events
NumericUpDownAutomationPeer peer =

UIElementAutomationPeer.FromElement(control) as NumericUpDownAutomationPeer;
if (peer != null)
{
peer.RaiseValueChangedEvent(oldValue, newValue);
}
#endregion

RoutedPropertyChangedEventArgs<decimal> e =

new RoutedPropertyChangedEventArgs<decimal>(
oldValue, newValue, ValueChangedEvent);

control.OnValueChanged(e);

control.updateValueString();
}

/// <summary>
/// Raises the ValueChanged event.
/// </summary>
/// <param name="args">Arguments associated with the ValueChanged event.</param>
protected virtual void OnValueChanged(RoutedPropertyChangedEventArgs<decimal> args)
{
RaiseEvent(args);
}

private static object CoerceValue(DependencyObject element, object value)
{
decimal newValue = (decimal)value;
NumericUpDown control = (NumericUpDown)element;

newValue = Math.Max(control.Minimum, Math.Min(control.Maximum, newValue));
newValue = Decimal.Round(newValue, control.DecimalPlaces);

return newValue;
}

#endregion

#region Minimum

public decimal Minimum
{
get { return (decimal)GetValue(MinimumProperty); }
set { SetValue(MinimumProperty, value); }
}

public static readonly DependencyProperty MinimumProperty =
DependencyProperty.Register(
"Minimum", typeof(decimal), typeof(NumericUpDown),
new FrameworkPropertyMetadata(DefaultMinValue,
new PropertyChangedCallback(OnMinimumChanged), new CoerceValueCallback(CoerceMinimum)
)
);

private static void OnMinimumChanged(DependencyObject element,

DependencyPropertyChangedEventArgs args)
{
element.CoerceValue(MaximumProperty);
element.CoerceValue(ValueProperty);
}
private static object CoerceMinimum(DependencyObject element, object value)
{
decimal minimum = (decimal)value;
NumericUpDown control = (NumericUpDown)element;
return Decimal.Round(minimum, control.DecimalPlaces);
}

#endregion

#region Maximum

public decimal Maximum
{
get { return (decimal)GetValue(MaximumProperty); }
set { SetValue(MaximumProperty, value); }
}

public static readonly DependencyProperty MaximumProperty =
DependencyProperty.Register(
"Maximum", typeof(decimal), typeof(NumericUpDown),
new FrameworkPropertyMetadata(DefaultMaxValue,
new PropertyChangedCallback(OnMaximumChanged),
new CoerceValueCallback(CoerceMaximum)
)
);

private static void OnMaximumChanged(DependencyObject element,

DependencyPropertyChangedEventArgs args)
{
element.CoerceValue(ValueProperty);
}

private static object CoerceMaximum(DependencyObject element, object value)
{
NumericUpDown control = (NumericUpDown)element;
decimal newMaximum = (decimal)value;
return Decimal.Round(Math.Max(newMaximum, control.Minimum), control.DecimalPlaces);
}
#endregion

#region Change

public decimal Change
{
get { return (decimal)GetValue(ChangeProperty); }
set { SetValue(ChangeProperty, value); }
}

public static readonly DependencyProperty ChangeProperty =
DependencyProperty.Register(
"Change", typeof(decimal), typeof(NumericUpDown),
new FrameworkPropertyMetadata(DefaultChange,

new PropertyChangedCallback(OnChangeChanged),

new CoerceValueCallback(CoerceChange)),
new ValidateValueCallback(ValidateChange)
);

private static bool ValidateChange(object value)
{
decimal change = (decimal)value;
return change > 0;
}

private static void OnChangeChanged

(DependencyObject element, DependencyPropertyChangedEventArgs args)
{

}

private static object CoerceChange(DependencyObject element, object value)
{
decimal newChange = (decimal)value;
NumericUpDown control = (NumericUpDown)element;

decimal coercedNewChange = Decimal.Round(newChange, control.DecimalPlaces);

//If Change is .1 and DecimalPlaces is changed from 1 to 0, we want Change to go to 1, not 0.
//Put another way, Change should always be rounded to DecimalPlaces, but never smaller than the
//previous Change
if (coercedNewChange < newChange)
{
coercedNewChange = smallestForDecimalPlaces(control.DecimalPlaces);
}

return coercedNewChange;
}

private static decimal smallestForDecimalPlaces(int decimalPlaces)
{
if (decimalPlaces < 0)
{
throw new ArgumentException("decimalPlaces");
}

decimal d = 1;

for (int i = 0; i < decimalPlaces; i++)
{
d /= 10;
}

return d;
}

#endregion

#region DecimalPlaces

public int DecimalPlaces
{
get { return (int)GetValue(DecimalPlacesProperty); }
set { SetValue(DecimalPlacesProperty, value); }
}

public static readonly DependencyProperty DecimalPlacesProperty =
DependencyProperty.Register(
"DecimalPlaces", typeof(int), typeof(NumericUpDown),
new FrameworkPropertyMetadata(DefaultDecimalPlaces,
new PropertyChangedCallback(OnDecimalPlacesChanged)
), new ValidateValueCallback(ValidateDecimalPlaces)
);

private static void OnDecimalPlacesChanged(DependencyObject element, DependencyPropertyChangedEventArgs args)
{
NumericUpDown control = (NumericUpDown)element;
control.CoerceValue(ChangeProperty);
control.CoerceValue(MinimumProperty);
control.CoerceValue(MaximumProperty);
control.CoerceValue(ValueProperty);
control.updateValueString();
}

private static bool ValidateDecimalPlaces(object value)
{
int decimalPlaces = (int)value;
return decimalPlaces >= 0;
}

#endregion

#region ValueString
//public string ValueString
//{
// get
// {
// return (string)GetValue(ValueStringProperty);
// }
//}

//private static readonly DependencyPropertyKey ValueStringPropertyKey =
// DependencyProperty.RegisterAttachedReadOnly("ValueString", typeof(string),

typeof(NumericUpDown), new PropertyMetadata());

//public static readonly DependencyProperty ValueStringProperty = ValueStringPropertyKey.DependencyProperty;

public string ValueString
{
get { return (string)GetValue(ValueStringProperty); }
set { SetValue(ValueStringProperty, value); }
}

/// <summary>
/// Identifies the Value dependency property.
/// </summary>
public static readonly DependencyProperty ValueStringProperty =
DependencyProperty.Register("ValueString", typeof(string), typeof(NumericUpDown),

new FrameworkPropertyMetadata());

private void updateValueString()
{
m_NumberFormatInfo.NumberDecimalDigits = this.DecimalPlaces;
string newValueString = this.Value.ToString("f", m_NumberFormatInfo);
//this.SetValue(ValueStringPropertyKey, newValueString);
ValueString = newValueString;
}
private NumberFormatInfo m_NumberFormatInfo = new NumberFormatInfo();

#endregion

#endregion

#region Events
/// <summary>
/// Identifies the ValueChanged routed event.
/// </summary>
public static readonly RoutedEvent ValueChangedEvent = EventManager.RegisterRoutedEvent(
"ValueChanged", RoutingStrategy.Bubble,
typeof(RoutedPropertyChangedEventHandler<decimal>), typeof(NumericUpDown));

/// <summary>
/// Occurs when the Value property changes.
/// </summary>
public event RoutedPropertyChangedEventHandler<decimal> ValueChanged
{
add { AddHandler(ValueChangedEvent, value); }
remove { RemoveHandler(ValueChangedEvent, value); }
}
#endregion

#region Commands

public static RoutedCommand IncreaseCommand
{
get
{
return m_IncreaseCommand;
}
}
public static RoutedCommand DecreaseCommand
{
get
{
return m_DecreaseCommand;
}
}

private static void InitializeCommands()
{
m_IncreaseCommand = new RoutedCommand("IncreaseCommand", typeof(NumericUpDown));
CommandManager.RegisterClassCommandBinding(typeof(NumericUpDown),

new CommandBinding(m_IncreaseCommand, OnIncreaseCommand));
CommandManager.RegisterClassInputBinding(typeof(NumericUpDown),

new InputBinding(m_IncreaseCommand, new KeyGesture(Key.Up)));

m_DecreaseCommand = new RoutedCommand("DecreaseCommand", typeof(NumericUpDown));
CommandManager.RegisterClassCommandBinding(typeof(NumericUpDown),

new CommandBinding(m_DecreaseCommand, OnDecreaseCommand));
CommandManager.RegisterClassInputBinding(typeof(NumericUpDown),

new InputBinding(m_DecreaseCommand, new KeyGesture(Key.Down)));
}

private static void OnIncreaseCommand(object sender, ExecutedRoutedEventArgs e)
{
NumericUpDown control = sender as NumericUpDown;
if (control != null)
{
control.OnIncrease();
}
}

private static void OnDecreaseCommand(object sender, ExecutedRoutedEventArgs e)
{
NumericUpDown control = sender as NumericUpDown;
if (control != null)
{
control.OnDecrease();
}
}

protected virtual void OnIncrease()
{
this.Value += Change;
}

protected virtual void OnDecrease()
{
this.Value -= Change;
}

private static RoutedCommand m_IncreaseCommand;
private static RoutedCommand m_DecreaseCommand;
#endregion

#region Automation

protected override AutomationPeer OnCreateAutomationPeer()
{
return new NumericUpDownAutomationPeer(this);
}

#endregion

/// <summary>
/// This is a class handler for MouseLeftButtonDown event.
/// The purpose of this handle is to move input focus to NumericUpDown when user pressed
/// mouse left button on any part of slider that is not focusable.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
NumericUpDown control = (NumericUpDown)sender;

// When someone click on a part in the NumericUpDown and it's not focusable
// NumericUpDown needs to take the focus in order to process keyboard correctly
if (!control.IsKeyboardFocusWithin)
{
e.Handled = control.Focus() || e.Handled;
}
}

private const decimal DefaultMinValue = 0,
DefaultValue = DefaultMinValue,
DefaultMaxValue = 100,
DefaultChange = 1;
private const int DefaultDecimalPlaces = 0;
}

public class NumericUpDownAutomationPeer :

FrameworkElementAutomationPeer, IRangeValueProvider
{
public NumericUpDownAutomationPeer(NumericUpDown control)
: base(control)
{
}

protected override string GetClassNameCore()
{
return "NumericUpDown";
}

protected override AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.Spinner;
}

public override object GetPattern(PatternInterface patternInterface)
{
if (patternInterface == PatternInterface.RangeValue)
{
return this;
}
return base.GetPattern(patternInterface);
}

internal void RaiseValueChangedEvent(decimal oldValue, decimal newValue)
{

base.RaisePropertyChangedEvent(RangeValuePatternIdentifiers.ValueProperty,
(double)oldValue, (double)newValue);

}

#region IRangeValueProvider Members

bool IRangeValueProvider.IsReadOnly
{
get
{
return !IsEnabled();
}
}

double IRangeValueProvider.LargeChange
{
get { return (double)MyOwner.Change; }
}

double IRangeValueProvider.Maximum
{
get { return (double)MyOwner.Maximum; }
}

double IRangeValueProvider.Minimum
{
get { return (double)MyOwner.Minimum; }
}

void IRangeValueProvider.SetValue(double value)
{
if (!IsEnabled())
{
throw new ElementNotEnabledException();
}

decimal val = (decimal)value;
if (val < MyOwner.Minimum || val > MyOwner.Maximum)
{
throw new ArgumentOutOfRangeException("value");
}

MyOwner.Value = val;
}

double IRangeValueProvider.SmallChange
{
get { return (double)MyOwner.Change; }
}

double IRangeValueProvider.Value
{
get { return (double)MyOwner.Value; }
}

#endregion

private NumericUpDown MyOwner
{
get
{
return (NumericUpDown)base.Owner;

然后建一個窗體:

<Window x:Class="WpfTest.NumericUpDownStyle"
xmlns="//schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="//schemas.microsoft.com/winfx/2006/xaml"
<SPAN style="COLOR: #ff0000">xmlns:styles="clr-namespace:WpfTest"
</SPAN> Title="NumericUpDownStyle"
Height="300"
Width="300">
<Window.Resources>
<ControlTemplate x:Key="addBtnTemplate"
TargetType="{x:Type RepeatButton}">
<Border Height="19"
Width="39"
BorderThickness="0">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0"
Opacity="1">
<GradientStop Color="#FFb9bbbc"
Offset="0" />
<GradientStop Color="#FF909294"
Offset="0.973" />
</LinearGradientBrush>
</Border.Background>
<ContentPresenter HorizontalAlignment="Center"
Content="{TemplateBinding Button.Content}"
VerticalAlignment="Center"></ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed"
Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform X=".5"
Y=".3"></TranslateTransform>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>

<Style TargetType="{x:Type styles:NumericUpDown}">
<Setter Property="BorderBrush"
Value="#81ADD0" />
<Setter Property="BorderThickness"
Value="1" />
<Setter Property="Padding"
Value="0" />
<Setter Property="MinWidth"
Value="180" />
<Setter Property="Height"
Value="40" />
<Setter Property="HorizontalAlignment"
Value="Center" />
<Setter Property="VerticalAlignment"
Value="Center" />
<Setter Property="FocusVisualStyle"
Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type styles:NumericUpDown}">
<Border BorderBrush="#999999"
Width="128"
Height="39"
BorderThickness="1"
Padding="{TemplateBinding Padding}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition><;/ColumnDefinition>

</Grid.ColumnDefinitions>
<TextBox Text="{Binding
RelativeSource=
{
RelativeSource
Mode=FindAncestor,
AncestorType={x:Type styles:NumericUpDown}
},
Path=Value,
Mode=TwoWay
}"
BorderThickness="0"
IsEnabled="True"
FontSize="24"
TextAlignment="Right"
VerticalAlignment="Center"
HorizontalAlignment="Left"
Grid.Column="0"
Width="70" />
<Border BorderThickness="1,0,0,0" Width="39"
HorizontalAlignment="Right"
BorderBrush="#999999">
<StackPanel Width="39">
<RepeatButton Command="styles:NumericUpDown.IncreaseCommand"
Grid.Row="0"
HorizontalAlignment="Right"
Width="39"
Height="19"
Margin="0,0,0,0"
Template="{StaticResource addBtnTemplate}">
<RepeatButton.Content>
<Path Height="6"
Width="12"
Stretch="Fill"
Opacity="1"
Data="M 666.5,597 C666.5,597 678.5,597 678.5,597 678.5,597 672.5,591 672.5,591 672.5,591 666.5,597 666.5,597 z"
Fill="#ffffff" />
</RepeatButton.Content>
</RepeatButton>
<RepeatButton Command="styles:NumericUpDown.DecreaseCommand"
Margin="0,0,0,0"
Grid.Row="1"
Width="39"
HorizontalAlignment="Right"
Height="19"
Template="{StaticResource addBtnTemplate}">
<RepeatButton.Content>
<Path Height="6"
Width="12"
Stretch="Fill"
Opacity="1"
Data="M 666.5,609 C666.5,609 678.5,609 678.5,609 678.5,609 672.5,615 672.5,615 672.5,615 666.5,609 666.5,609 z"
Fill="#ffffff" />
</RepeatButton.Content>
</RepeatButton>
</StackPanel>
</Border>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled"
Value="false">
<Setter Property="Opacity"
Value="0.2" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

</Window.Resources>
<Grid>
<styles:NumericUpDown x:Name="nUpDown_hege"
Minimum="0"
Maximum="100"
Grid.Column="1"></styles:NumericUpDown>
</Grid>
</Window>


 


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn

文章轉載自:網絡轉載

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
国产办公室秘书无码精品 | 国产成人午夜福利r在线观看观看 | 韩国三级电影在线免费 | 国产爆乳尤妮丝无码视频在线 | 欧美日韩一区二区三区在线视频 | 国语对白一级片女主播 | 国产一区二区成人久久919色 | 最新欧美精品一区二区三区 | 无码av在线播放专区 | 国产激情久久久久影院 | 欧美大片黑寡妇免费观看 | 欧美精品黑人粗大 | 国产成人精品亚洲 | 国产丶欧美丶日韩丶不卡影视 | 欧美成人免费观看 | 亚洲av无码国产精品色 | 69视频在线观看免费 | 国产强伦姧 | 亚洲精品国产av现线 | 亚洲无线一二三四区手机 | 动漫精品一区二区三区 | 91国内产香蕉v4.4.9最新版 | 国产啪精品视 | 丰满的瑜伽老师bd三级 | 九九九九九九伊人 | 成人午夜 | 卡通动漫精品综 | 91福利视频合集 | 少妇高潮惨叫久久久久久 | 国产激情久久久久影院小草 | 婷婷久久综合九色综合88 | 国产aⅴ精品一区二区三区 国产aⅴ精品一区二区三区久久 | 成年男女免费视频网站 | 自拍偷自拍亚洲精品被多人伦好爽 | 无码av永久免费专区不卡 | 国产成人无码精品不卡 | 亚洲自偷自偷偷色无码中文 | 亚洲国产精品无码久久久久久曰 | 爆乳少妇在办公室在线观看 | 国产美女裸体无遮掩免费牛牛 | 丰满人妻被公侵犯中文电影版 | 午夜福利精品在线播放 | 国产男生夜间福利免费网站 | 欧美精品一二三区 | 成人爽a毛片一区二区免 | 成人午夜精品一级毛片 | 国产精品免费看久久久无码 | 依人网络在线综合视 | 国产精品色欲av蜜臂在线观看 | 91视频网站大全 | 亚洲国产精品国自产拍a∨ 亚洲国产精品国自产拍av | 国产91在线精品国自产拍 | 欧美性大战xxxxx久久久√ | 国产精品日韩无码一区二区 | 精品国产国产自在线观看 | 国产在线拍揄自揄拍无码 | 日产精品一区二区免费 | 在线日韩视频 | 亚洲欧美日韩中 | 91午夜精品亚洲一 | 亚洲v国产v天堂a无码二区久久 | 麻豆日韩国产精品欧美在线 | 国语精品福利自产拍在线观看 | 91桃色a片无限免费看 | 国产精品无码一区二区三区免费 | 国产99久久久国产精免费 | 亚洲成av人片一区二区三区 | 成年女人免费影院播放 | 欧美精品top. | 欧美人与动牲交 | 色欲久久久天天天综合影院 | 午夜男人一级毛片免费 | 精品国产欧美一区二区三区不卡 | 日韩人妻熟精品久久无码少年阿 | 成年人免费 | 少妇高潮惨叫喷水在线观看 | 狠狠色噜噜| 国产精品久久久久精品综合 | 精品一区二区三区无码免费直 | 日韩不卡高清无码人妻 | 在线观看无码av免费不卡网站 | 亚洲论片在线观看 | 动漫精品一区二区三区视频 | 日本xxxx裸体xxxx免费 | 亚洲成a人片在线观看网站 亚洲成a人片在线观看无码 | 国产精品无码一区二区三区 | 波多野结衣在线调教免费观看 | 桃蜜桃av秘无码一区二区三区 | 人人干人人操导航 | 无遮挡1000部拍拍 | 欧美成人一区二区三区 | 日韩av在线播放 | 偷拍久久国产视频免费2025 | 国产精品网红尤物福利在线观看 | 精品一区二区三区四区无码 | 国产suv视频大全 | 国产一区二区在线不卡 | 国产色欲av精品一区二区 | 91嫩草国产 | 精品无码国产免费网站视频 | 看片中文字幕 | 99国产这里有精 | 亚洲av色区一区二区三区 | 国产人成午夜免视频网站 | 日韩欧美亚洲国产精品字幕久久久 | 欧美视频一区二区三区在线观 | 精品人妻人人做人人爽夜夜爽 | 91精品欧美综合在线野草社区 | 国产亚洲日韩精品超碰 | 亚洲综合极品香蕉久久网 | 91精品啪国产在线观看 | 国产一国产一级无码网站 | 国产专区亚洲精品无码 | 日本香蕉尹人在线视频 | 亚洲日产?v中文字幕无码偷拍 | 亚洲av无码精品色午夜 | 亚洲av色噜噜噜 | 韩国激情一区二区无码在线 | 99久免费精品视频在线观78 | 国产内地激情精品毛片在线一 | 亚洲av永久无码精品尤物 | 91蜜桃传媒一二三区 | 国产a∨精品一区二区三区不卡 | 97伊人| 日本欧美亚洲综合久久久 | 国产一区二区精品在线观看 | 亚洲精品久久无码 | 97人妻人人揉人人躁人人 | 亚洲第一无码精 | 福利网址大全 | 亚洲中文字幕aⅴ天堂自拍 亚洲中文字幕aⅴ无码天堂 | 国产精品一区二区白浆 | 国产又黄又粗又色又刺激视频 | 国产人妻久久精品二 | 亚洲国产成人 | 国产91大片精品一区在线观看 | 国产高清精| 亚洲精品ⅴ在线观看 | 在线亚洲精品福利网址导航 | 国产精品热久久无码av | 人妻斩无码正片免费视频 | 成人黄色网址 | 丰满大屁股美女一级毛片 | 久久爱www高清免费 久久爱评论库第12章第1页 | 99电影网| 天天干狠狠干 | 国产三级一区二区三区 | 久久成人国产精品麻豆 | 日韩a人毛片精品无人区乱码 | 国产精品一区高清在线观看 | 精品精品国产高清a毛片 | 日韩不卡在线播放 | 亚洲国产精彩中文乱码av | 欧美交换乱理伦片在 | 亚洲国产综合一区 | 麻豆国产v | 国产日韩久久久 | 亚洲欧美日本国产专区 | 日本特级婬片中文免费看 | 日本高清视频网站www | 成人家庭影院 | 91久久精品在这里色伊人68 | 日韩精品无码一区二区三区 | 午夜丰满少妇性开放视频 | αv天堂在线观看免费αⅴ αv在线视频免费观看男人 | 欧美亚洲宗合另类在线观看 | 国产欧美一区二区三区精品 | 99久久人人爽亚洲精品美女 | 啪啪综合v一区综合精品区 喷潮a片免费观看 | 99爱国产精品免费精品在线 | 99久久国产精品免费一区二区 | 国产白丝无码免费视频 | 国产成人猛男69精品视频 | 久久99精品久久久久久hb | 亚洲国产精品露脸 | 日韩精品免费无码一区二区 | 亚洲综合国产一区二区三区 | 色视频在线观看免费视频 | 中文字幕aⅴ| 久久爱评论库第12章第1页 | 成年片色大黄全免费网站久久 | 中文字幕久无码免费久久 | 99久久久无码国产精品6 | 亚洲成人av片在线观看无码 | 亚洲av成人无码久久 | 亚洲午夜福利国产门事件 | 国产99久久久国产精免费 | 精品久久香蕉国产线 | 99精品国产99久久久久久97 | 色费女人18毛片a级毛片视频 | 国产av国片精品jk制服 | 国产欧洲黄色一级片视频 | 精品熟女视频一区二区三区 | 国产美女做受一级视频 | 极品黑色丝袜自慰喷水自慰 | 国产欧美在线一区二区三区 | 精品日本在线免费观看 | 欧美精品黑人粗大 | 亚洲国产成人av手机在线观看 | 成人网站在线观看 | 亚洲男人的天堂在线aⅴ视频 | 成全影院电视剧在线观看 | 国产秀色在线www免费观看 | 国产啪亚洲国产精品无码 | av片在线免费观看 | 欧洲熟妇色xxxx欧美老妇免费 | 精品精品国产高清a毛片牛牛 | 东京热人妻无码一区二区av | 自拍亚洲一区欧美另类 | av变态另类天堂无码专区 | 久久99精品国产免费观看 | 欧美日韩最新一区 | 欧洲丰满美熟女乱又伦av | 国产97久久久久久免费 | 97看片 | 人人添人人澡人人澡人人人人 | 无码人妻av免费一 | 国产在线观看精品一区二区三 | 成人无码人妻 | 欧美性大 | 中文自拍三级国产 | 亚洲精品国产a久久久久久 亚洲精品国产va在 亚洲精品国产啊女成拍色拍 | 亚洲精品白浆高清久久久久久 | 欧美日韩视频在线一区二区三区 | 日韩无码中文另类 | 国产精品毛片无码一区二区蜜桃 | 99久久免费热在线精 | 自拍熟女日韩高清 | 亚洲国产精品自产拍在线播放 | 四虎精品国产永久在线观看 | 成人国产欧美大片一区 | 无码国产精品一区二区免费 | 日韩精品一区二区三区费暖暖 | 国产欧美亚洲精品下载第二区 | 国产亚洲性色av大片久久香蕉 | 国产精品99精品无码视亚 | 99久久国产综合精麻豆 | 亚洲国产一区二区三区 | 成人区人妻精 | 亚洲视频在线一区二区三区 | 国产精品久久久久一区二区三区 | 日本一区二区三区精品福利视频 | 国产成人激烈叫床声视频对白 | 九色综合欧美狠狠 | 国产午夜毛片一区二区三区 | 一区二区视频 | 性少妇无码 | 国产激情一区二区三区 | 亚洲精品午夜久久aaa级久久久 | 国产二级一片内射视频插放 | 午夜福利无码不卡在线观看 | 亚洲精品无码久久久影院相关影片 | 欧美午夜理伦三级在线 | 国产一区二区三区在线免 | 国产亚洲精品a | 中文字幕高清有码在线中字 | 国产乱人伦精品一区二区 | 天天做日日做天天添天天欢公交 | 国产中文字幕乱人伦在线 | 无码精品人妻一区二区三区爱剪 | 精品videossex国产 | 国产亚av手机在 | 国产99视频精品免费专区 | 97青草操五月天开心网 | 91亚洲免费 | 92久久av嫩| 久久r视频免精品在 | 无码乱人伦一区二区亚洲一 | 久久福利青草狠狠午夜 | 国产第一在 | 久久9国产影视大全99久 | 国产日韩一区二区三区高清 | 人妻熟妇乱又伦精品视频 | 成人黄app福| 色婷婷久久综合中文久久蜜桃av | 麻豆亚洲无矿砖码区 | 99在线精品视频免费 | 国产亚洲精品91 | 97韩剧网 | 3d动漫精品啪啪一区二区中 | 国产精品最新高清 | 欧美午夜寂寞影院安卓列表 | 亚洲成av人影院无码不卡 | 无码人妻一区二区三区免水牛视 | 亚洲aⅴ自偷自拍视频 | 亚洲电影有码中文字幕 | 中文字幕av一区中文字幕天堂 | 国产av巨作情欲放纵无码 | 日本在线视频网 | 国产午夜福利在线视频导航 | 欧美日本精品一区二区三区 | 日韩无码中文字幕亚洲 | 人人影院| av中文 | 国产电影天天看在线播放 | 精品亚洲麻豆1区2区3区 | 国产亚洲精品a在线观看app | 国产偷窥女洗浴在线观看 | 国产精品福利电影一区二 | 国产免费无码午夜福利电影 | 日本一区二区三区在线 | 国产色秀视频在线播放 | 日本特黄特色aaa大片免费 | 亚洲欧美国产一 | 91精品欧 | 国产精品vā在线观看无码 国产精品va在线观看无码不卡 | 91人人澡人人妻人人精品 | 国产精品十一区 | 欧美曰韩一区二区三区 | 欧美高清一区二区三区 | 神马午夜福利我不卡手机电影 | 国产精彩视频在线观看免费蜜芽 | 91看片淫黄大片.在线天堂 | 亚洲国产精品福利片在线观看 | 九九九精品成人免费视频 | 国产精品美女久久久网站动漫 | 综合无码一区二区 | 中文字幕亚洲欧美另类 | 国产suv精品一区二区 | 午夜毛片免费看 | 国产成人无码 | 91人成亚洲高清在线观看 | 国产香蕉97碰碰久久人人蜜桃 | 91精品专区| 一区二区三区国产美女在线播放 | 无码av一区在线观看免费 | 亚洲欧美人成电影在线观看 | 究竟是人性的扭曲还是道德的沦丧 | 国产精品无码午夜福利 | 欧美日韩国产免费一区二 | 日韩精品区一区二区三vr | 亚洲精品自拍愉拍第二页 | 91精品国产调教在线观看 | 国内精品九九久久久精品 | 97人伦影院a级毛片 97人妻精品一区二区三区 | 呦系列视频一区二区三区 | 麻豆av传媒蜜桃天美 | 日夜夜操天天爽在欧美亚 | 中文字幕无码永久 | 精品一区二区久久久久网站 | 国产激情视频在线观看免费播放 | 国色一卡2卡3卡4卡在线新区 | 精品久久黄色网站 | 国产精品黄在线观 | 人人妻人人澡人人爽欧美一区九九 | 午夜精品成人毛片 | 91久久国产| 精品av国产一区二区三区四区 | 日韩无码av影片 | 国产成人一区二区三区在线观看 | 99热最新地址永久 | 国产精品厕所电影 | 国产精品偷伦视频免费观看 | 风流老太婆大bbw | 91精品无码国产在线观看 | 九九久久精品国产 | 91大神的探花视频 | 亚洲av无码精品无码麻豆 | 久久er国 | 亚洲国产一区二区三区四久久 | 99电影网 | 中文无码免费在线观看 | 99久久精品国产高清一区二区 | 成人网站精品久久久久 | 日韩在线视频二 | 日韩在线免费看网站 | 国产免费午夜a无码v视频 | 在线观看av网站永久免费观看 | 亚洲精品乱码久久久久久不卡 | 中日精品无码一本二本三本 | 色偷偷超碰伊人 | 国产伦精品一区二区三区 | 国产suv精品一区二区6 | 国产午夜激无码色本v毛片 国产午夜精 | 亚洲国产制服动漫另类 | 在线观看成人无码中文av天堂 | 国产又滑又嫩又白 | 欧美亚洲综合色 | 国产成人av电影在线 | 欧美日韩专区在线观看 | 亚洲不卡av影片在线播放 | 99re国产精品视频首页 | 无码人妻精品一 | 午夜小电影 | 97中文人妻免费观看 | 精品videossex国产 | 极品私人尤物在线精品视频 | 国产亚洲精品久久久ai换脸 | 91麻豆视频 | 中文字幕乱码一区久久 | 国产成人亚洲精品无码青app | 国产福利精品在线观看 | 人妻少妇一区二区三区在线 | 国产精品国产三级国产av中文 | 日韩精品系列产品 | 国产一区二区免费在线观看 | 国产黄大片| 日夜夜天天人 | 日本大片免a费观看视频老师 | 国产人成无码视频在线观看 | 99re国产精品| 精品一区二区三区视频在线观看免 | 日本黄色片视频 | 精品特级一级毛片 | 中文字幕aⅴ人妻一区二区 中文字幕aav | 无码国产| 东京热无码中文字幕av百度 | 亚洲一区综合 | 午夜免费观看福利片一区二 | 国产乱人视频在线观看ktv | 成年人在线免费看视频 | 老司机91精品网站在线观看 | 国产乱人视频在线观看ktv | 亚洲国产日韩欧美一区二区三区一 | av无码久久久久不卡免费网站 | 亚洲av色噜噜噜 | 无码熟妇人妻av在线影片最多 | 午夜精品久久久内射近拍高清 | 亚洲手机在线观看不卡av | 91极品18禁国产在线播放 | 国产综合久久 | 黄色网址在线播放 | 成人国产精品日本在线观看 | 国产在线精品一区二区 | 欧美日韩一区二区高清不 | 麻豆国产精品污在线 | 国产成人av网站手机不卡 | 日韩电影免费在线观看网站 | 亚洲精品无码专区在线在线播放 | 无码专区免费播放 | 午夜人妻久久久久久久久 | 国产精品综合第一页 | 亚洲国产精品综合久久网络 | 欧美成人精品三级网站在线观看 | 东京热之中文字幕 | 欧美人妻制服另类人妻在线 | 韩国无码无遮挡在线观看 | 日本综合国产欧美 | 日韩亚洲欧美中文高清 | 国产高潮国产高潮久久久 | 91大神一区二区三区视频 | 麻豆精品秘国产传媒mv | 91麻豆怎么进去 | 国偷自产av一区二区三区 | 国产精品丝袜一区二区三区 | 黄色三级三级三级网站 | 97久久天天综合色天天综合色 | 国语对白农村老太婆bbw | 国产免费一区二区三区在线观看 | 日韩欧美中文字幕第 | 国产乱码免费卡1卡二卡3卡四卡 | 91九色蝌蚪熟女 | 成人性生交大片免费看中文 | 一级呦女专区毛片 | 精品尹人在线观看 | 欧美级在线现免费观看不卡 | 日韩爱爱一 | 色费女人18毛片a级毛片视频 | 在线精品国精品91 | 国产精品高潮呻吟久 | 97久久天天综合色天天综合88 | www.色欲 | 91精品日本久久久久久牛牛 | 国产不卡无码高清毛片一区二区三 | 91成人看片| 国内精品伊人久久久久av影院 | 日韩欧美亚洲综合久久 | 国产成人亚洲视频在线 | 国产v综合v亚洲欧美久久 | 久草青青 | 日韩人妻潮喷观看 | 精品无码三级在线观看视频 | 99久久99久久精品免费看蜜桃 | 亚洲av无码天堂一区二区三区 | 国产精品视频久久久久 | 另类亚洲图区在线视频 | 国产亚洲高清在线精品99 | www男插女在线观看 www欧美无国产精选尤物 | 国产不卡一区二区三区視频。 | 亚洲av无码一区二区三区电影 | 国产三级高清视频在线观看 | a级成人免费毛片完整 | 狠狠噜天天噜日日噜无码 | 日韩av片无码一区二区不卡 | av网站在线免费观看 | 狠狠色噜噜 | 久久成午夜精品一区二区三区 | 国产内射一级一片内射精品视频 | 高潮未删减手机高清在线观看 | 成人综合网站在线 | 亚洲精品无码不卡在线播放he | 亚洲精品天天影视综合网 | 香蕉影视 | 国产精品成人精品久久久一区 | 国产爆乳美女娇喘呻吟 | 日韩精品无码一区二区三区不卡 | 国产在线高潮流 | 成年人视频公开 | 天美传媒国产电视推荐 | а8天堂资源在线官网 | 在线视频一区二区 | 欧美午夜精品 | 亚洲精品无码久久久久冒白浆 | 亚洲精品久久久久久久久av | 丰满少妇午夜寂寞影院 | 色综合97 | 国产自在线| 97色婷婷图片小说 | 日韩人妻无码一区二区三区综 | αv在线视频免费观看男人 а√天堂8资源中文在线 | 精品香蕉久久久午夜福利 | 99久久免费国产精精品 | 熟妇人妻无码一区二区三区 | 人人干美女 | 欧美亚洲成人动漫在线 | 国内精品久久 | 白丝爆浆18禁一区二区三区 | 国产一级a毛一级a看免 | 精品一区二区在线视 | sss亚洲国产欧美一区二区 | 色一情一乱一伦一区二区三欧美 | 黄色视频网站 | 日韩a片一级无码 | 国产啪亚洲国产精品无码 | 国产三级一区二区三区 | 国语精品自产拍在线 | 国产97精品爆乳奶水无码 | 色综合久久88色综合天天 | 成人区人妻精 | 亚洲产国偷v产偷v自拍涩爱 | 午夜精品久 | 精品久久久久久久久中文字幕 | 国产三区四区在线观看 | 亚洲精品第一页 | 韩国三级在线播久 | 亚洲成av人片在线 | 人人超碰91尤物精品国产 | 亚洲日韩精品免费视频91蜜桃 | 深夜国产一区二区三区在线看 | 一级生性活片全黄在线观看 | 国产精品自在线拍国产 | 99久久国产综合精品女同 | 成人午夜小视频手机在线看 | 制服丝袜中 | 综合在线无码一 | 91精品福利在线 | 黄色av网 | 超碰亚洲欧美一区二区 | 国产一区二区 | 国产欧美日韩综合精 | 中文字幕一区二区精品区 | 高潮国产白浆抽搐福利日本 | 精品久久香蕉国产线 | 欧美日韩国语aⅴ视频网站 欧美日韩激情视频一区二区三区 | 国产一级a毛一级a视频 | 亚洲av无码乱码在线观看麻豆 | 99久久精品国产一区二区成人 | 欧美剧情视频在线播放 | 国产午夜福 | 国产精品亚洲精品日韩已满 | 最新国产av无码专区亚洲 | 午夜精品视频在线观看 | 中文字幕一区二区三区在线不卡 | 精品午夜久久福利大片免费 | 在线a网站 | 在线观看高清免费国产 | 欧美精品一区二区精品久久 | 日本久久久 | 在线播放无码后入内射少妇 | 中文字幕在线精品视频入口一区 | 人与动物ppt免费模板大 | 国产脚交足免 | 国产一级aa大片毛片 | 欧美精品一区二区三区久久久精品 | 天天日偷偷干天天操天天 | 日韩美国国产一级毛片 | 高潮久久久久久 | 亚洲av鲁丝片一区二区三区 | 91精品全国免费观看含羞草 | 精品一区二区中文在线 | 91视频www | 亚洲一区二区三区播放在线 | 欧美曰韩一区二区三区 | 国产一级毛片国语版 | 91精品日本久久久久久牛牛 | 国语自产精品视频熟女 | 国产欧美日韩一 | 国产精品色一区二区三区 | 91影视免费版官方最新版下载 | 欧美三级午夜理 | 国产嫖妓成 | 免费无遮挡无码视频在线观看 | 日本中文字幕一区高清在线 | 99热在线只有精品99 | 国产亚洲欧美一区二区 | av免费看在线观看免费 | 国产一在线精品一区在线观看 | 国产午夜福利精品一 | 99久久99久久精品国产片果冻 | av成为人电影一区二区三区 | 亚洲国产精品无码久久电影 | 精品狼人久久久久影院 | 国产欧美日本在 | 无码国产精品视频一区二区三区 | 成全高清电影 | 国产一二三四区中 | 99久久久无码国产精品古装 | 内射一区二区精品视频在线观看 | 午夜一区二区免费福利麻豆 | 91制片厂果冻传媒有限公司 | 国产成人午夜视频影院免费观看 | 国产成人精品午夜福利 | 国产91精品对白露脸全集观看 | 香蕉视频在线观看福利国产 | 欧美成人一区二区三区不卡视频 | 久久成人国产精品免费软件 | 无码精品a∨在线观看无广告 | 国产精品岛 | 麻豆国产av精选 | 国产办公室秘书 | 国产亚洲一卡2卡3卡4卡网站 | 国产综合一区二区三区黄页秋霞 | www夜片内射视频日 www夜片内射视频日韩精品成 | 精品久久国产视频 | 亚洲国产精品浪潮久久久av | 毛片不卡免费看 | 熟女精品视频一区二区三区 | 麻豆精品国产自产在线观看一 | 精品国产成人高清在线 | 另类图片五月天综合 | 欧美成人在线视频 | 欧美日韩精品在线视频 | 国产在线观看无遮挡无码aⅴ多人 | 精品与欧美交牲久久久久 | 亚洲精品亚洲人成人网 | 91蜜桃传媒精品久久久一区 | 国产成人精品免费播放视频 | 国产精品制服在 | 成人嘿嘿视频网站在线 | 日韩av高潮喷水在线观看 | 国产精品巨作av无遮挡 | 国产精品乱码久久久久久小说 | 人妻免费公开在线视频 | 中文字幕人成乱码熟女app | 国产在线一区二区 | 国产麻豆精品国产传媒av | 国产麻豆剧果冻传媒星空视频 | 亚洲熟妇视频在线观看 | 色欲天天久久久久 | 国产第二区 | 无码国模产在线观 | 91婷婷 | 日韩高清在线观看 | 波多野结衣中文字幕一区二区 | 中文字幕色av一区二区三区 | 日本多人强伦姧人妻完整版 | 免费午夜无码片在线观看影院 | 国产又爽又黄又嫩又猛又粗 | 午夜电影院理论片8888琪 | 亚洲欧美一区二区 | 99国产在线视频 | 成人一级毛片在线观看视频 | 国产欧美日韩一区二区三区 | 91九色 | 亚洲国产精品高清在线观看 | 91网站免费看| 亚洲精品高清国产一久久 | 亚洲一本之道高清在线观看 | 亚洲欧美日韩v在线观看不卡 | 在线看视频 | 中文字幕国产 | 97视频国产自在自线2025 | 国产高清在线精品一区二区 | 色综合久久久久久久久久 | 国产精品鲁鲁视频 | 国产一区二区三区水蜜桃 | 亚洲av永久无码精品一区二区国产 | 亚洲处破系列在线观看 | 人人妻人人澡欧美一区二区 | 国产精品无码二区二区 | 国产精品99久久99久久久不卡 | 亚洲国产vv在线播放 | 成人性生交大片免费看r男欢女爱 | 日韩国产一区 | 国产人成精品综合欧美成人 | 精品久久久久久无 | 久久99国产一区二区三区 | 国产亚洲av另类一区二区三区 | 亚洲av乱码一区二区三区按摩 | 亚洲av成人片色在线观看高潮 | 欧美a级情欲片在线观看免费 | 欧美激情一区二区久久久 | 亚洲成av片人久久久 | 国产在线无码精 | a高清无码免费在线视频 | 国产视频精品免费视频 | 国产精品欧美福利久久 | 午夜影视啪啪免费体验区 | 亚洲av永久无码精品网站在线观看 | 国产高清一区二区三区视频 | 97超频在线视频免费观看 | 国产精品视频自拍 | 福利网址导航一区在线观看 | 亚洲国产aⅴ精品一区二区蜜桃 | 精品在线视频一区 | 亚洲精品乱码久久久 | 日日摸夜夜摸狠狠摸婷婷 | 国产麻豆剧果冻传媒一区 | 久久不精品亚洲无码视频 | 高潮喷水在线观看免费 | 亚洲精品无码高潮喷水在线 | 三区四区| 91精品丝袜国产高跟在线一区 | 少妇激情一区二区三区视频 | 亚洲av综合色区无码二区爱av | 日本精品一区二 | 国产精品无码一区二区三区在 | 人人弄狠五月丁 | 丰满少妇乱子伦精品无码专区 | 无码国产伦一 | 亚洲午夜福利国产门事件 | av无码免费岛国动作片片段 | 中文字幕爆乳巨爆乳系列 | 国产老熟女八av | 无码精品一区二区三区视频蜜臀 | 国产女人乱 | 国产热re99久久6国产精品首 | 日韩福利视频导航入口 | 亚洲熟妇自偷自拍另欧美 | 日韩av无码久久精品免费 | 国产欧美精品一区二区色综合 | 亚洲国产一区二区精品专区 | 国产亚洲午夜高清国产拍精品 | 色婷婷狠狠进18久 | av超燃电影先生免费观看影视大全 | 国产黄a三级三级三级看三级 | 亚洲av乱码一区二区三区 | 亚洲精品国产午夜福 | 国产欧美日本韩高清视频一区 | 91影视热门在线 | 无码精品人妻一区二区三区中 | 91极品尤物91禁国产在线播放 | 91九色老熟女免费 | 国产免费一级精品视频 | 亚洲av成人综合网久久 | 午夜天堂精品久久久久 | 国产av一区二区久久 | 91全国精品免费青 | 日本三级网站在线观看 | 无码动漫黄在线观看免费 | 日韩国产在线一区二区三区 | 欧美伊人色综合久久天天 | 国内一本到不卡在线观看 | 欧美日韩在线精品一区二区三区 | 国产免费av片在线无码免费看 | 欧美成人精品视频在线观看 | 亚洲第一永久色 | 亚洲av无码午夜嘿嘿嘿 | 91桃色无码国产在线观看二区 | 在线观看成人无码中文av天堂 | 国产日产欧产综合 | 在线观看中文精品无码 | 高清一区二区三区视频 | 欧美在线观看免费人成 | 99久无码中文字幕一本久道 | 无码人妻精品一区二区蜜桃91 | 一级做a爰片久久毛片16 | 特级做a爰片毛片免费看无码 | 亚洲中文字幕永久有效 | 亚洲无码高潮喷吹在线 | 国产ts在线播放网站 | 少妇被粗大猛进进出出s小说 | 国产av熟女一区二区三区 | 国内大量揄拍人妻精品視頻 | 国产aⅴ激情无码久久久无码 | 欧美日韩精品视频一区二区在线 | 无码精品一区二区三区在线 | 亚洲欧美日韩久久精品黄色片 | 人妻一级毛片免费看 | 亚洲国产综合自在线婷婷 | 天天看天天操 | 四虎永久在线精品国产馆v视 | av在线中文字幕不卡电影网 | 三级电影韩国中文字幕久久 | 亚洲午夜精品久久久久久成年 | 亚洲成在人线在线播放 | 午夜a级理论片在线播放琪琪 | 久草福利视频 | 亚洲午夜一区二区三区在线 | 久久er热在这里只有精品66 | 99在线精品国自产拍中文字幕 | 色婷婷久| 69一区二三区好的精华液 | 天堂一区二区在线观看视频 | 午夜亚洲精品福利一区二区 | 妖精av无码成人精品区在线 | 日韩美女在线视频一区 | 天天躁日日 | 国产日韩高清一区二区三区 |