/// <summary>
/// 点击一下换一个文字的按钮
/// </summary>
public partial class ClickChangeLable
{
public static readonly DependencyProperty MyTextProperty = DependencyProperty.Register("MyText", typeof(string), typeof(ClickChangeLable)
, new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(MyTextBoxChandedCallBack))
);
private static void MyTextBoxChandedCallBack(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
}
public string MyText
{
get
{
return (string) GetValue(MyTextProperty);
}
set
{
ValueShow.Text = value;
SetValue(MyTextProperty,value);
}
}
private List<string> _userContent;
private List<string> _contents;
private int i = 0;
public ClickChangeLable()
{
InitializeComponent();
_contents = new List<string>()
{
"年",
"月",
"日"
};
//绑定点击事件
MouseUp += OnMourseClick;
MouseLeftButtonDown += OnMouseLeftButtonDown;
MouseLeftButtonUp += OnMouseLeftButtonUp;
}
private void OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Label.Background = Brushes.DodgerBlue;
}
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Label.Background = Brushes.DeepSkyBlue;
}
/// <summary>
/// 提供接口给用户自己定义Content
/// </summary>
public List<string> UserContent
{
get { return _userContent; }
set { _userContent = value; }
}
public string UnitText
{
get
{
return Label.Content.ToString();
}
set
{
Label.Content = value;
}
}
//public string MYText
//{
// get { return ValueShow.Text; }
// set
// {
// text = value;
// ValueShow.Text = text;
// }
//}
/// <summary>
/// 鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnMourseClick(object sender, MouseButtonEventArgs e)
{
i++;
//确保不会越界
int index = i % _contents.Count;
//如果用户自己没有定义content
if (UserContent == null)
Label.Content = _contents[index];
else
Label.Content = UserContent[index];
}
/// <summary>
/// 获取当前选中的值
/// </summary>
/// <returns></returns>
public string GetText()
{
return Label.Content.ToString();
}
}
/// 点击一下换一个文字的按钮
/// </summary>
public partial class ClickChangeLable
{
public static readonly DependencyProperty MyTextProperty = DependencyProperty.Register("MyText", typeof(string), typeof(ClickChangeLable)
, new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(MyTextBoxChandedCallBack))
);
private static void MyTextBoxChandedCallBack(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
}
public string MyText
{
get
{
return (string) GetValue(MyTextProperty);
}
set
{
ValueShow.Text = value;
SetValue(MyTextProperty,value);
}
}
private List<string> _userContent;
private List<string> _contents;
private int i = 0;
public ClickChangeLable()
{
InitializeComponent();
_contents = new List<string>()
{
"年",
"月",
"日"
};
//绑定点击事件
MouseUp += OnMourseClick;
MouseLeftButtonDown += OnMouseLeftButtonDown;
MouseLeftButtonUp += OnMouseLeftButtonUp;
}
private void OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Label.Background = Brushes.DodgerBlue;
}
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Label.Background = Brushes.DeepSkyBlue;
}
/// <summary>
/// 提供接口给用户自己定义Content
/// </summary>
public List<string> UserContent
{
get { return _userContent; }
set { _userContent = value; }
}
public string UnitText
{
get
{
return Label.Content.ToString();
}
set
{
Label.Content = value;
}
}
//public string MYText
//{
// get { return ValueShow.Text; }
// set
// {
// text = value;
// ValueShow.Text = text;
// }
//}
/// <summary>
/// 鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnMourseClick(object sender, MouseButtonEventArgs e)
{
i++;
//确保不会越界
int index = i % _contents.Count;
//如果用户自己没有定义content
if (UserContent == null)
Label.Content = _contents[index];
else
Label.Content = UserContent[index];
}
/// <summary>
/// 获取当前选中的值
/// </summary>
/// <returns></returns>
public string GetText()
{
return Label.Content.ToString();
}
}