|
@@ -15,15 +15,56 @@ using System.Windows.Shapes;
|
|
|
|
|
|
namespace PDF_Office.CustomControl.CompositeControl
|
|
namespace PDF_Office.CustomControl.CompositeControl
|
|
{
|
|
{
|
|
|
|
+ public class ComboNumberItem
|
|
|
|
+ {
|
|
|
|
+ public double Value { get; set; }
|
|
|
|
+ public string Content { get; set; }
|
|
|
|
+ public string Unit { get; set; }
|
|
|
|
+ public ComboNumberItem(double value,string unitStr = "")
|
|
|
|
+ {
|
|
|
|
+ Content = value + unitStr;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
/// <summary>
|
|
/// <summary>
|
|
/// SlidComboControl.xaml 的交互逻辑
|
|
/// SlidComboControl.xaml 的交互逻辑
|
|
/// </summary>
|
|
/// </summary>
|
|
public partial class SlidComboControl : UserControl
|
|
public partial class SlidComboControl : UserControl
|
|
{
|
|
{
|
|
|
|
+ public List<ComboNumberItem> Items { get;private set; }
|
|
public event EventHandler<double> ValueChanged;
|
|
public event EventHandler<double> ValueChanged;
|
|
public SlidComboControl()
|
|
public SlidComboControl()
|
|
{
|
|
{
|
|
InitializeComponent();
|
|
InitializeComponent();
|
|
|
|
+ Items = new List<ComboNumberItem>();
|
|
|
|
+ DefaultItems();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void SetItemSource(List<ComboNumberItem> items)
|
|
|
|
+ {
|
|
|
|
+ Items = items;
|
|
|
|
+ ThicknessBox.ItemsSource = Items;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void DefaultItems()
|
|
|
|
+ {
|
|
|
|
+ var item = new ComboNumberItem(3);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(6);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(9);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(12);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(15);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(18);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(21);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+ item = new ComboNumberItem(24);
|
|
|
|
+ Items.Add(item);
|
|
|
|
+
|
|
|
|
+ ThicknessBox.ItemsSource = Items;
|
|
}
|
|
}
|
|
|
|
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
|
@@ -38,11 +79,11 @@ namespace PDF_Office.CustomControl.CompositeControl
|
|
{
|
|
{
|
|
foreach(var item in ThicknessBox.Items)
|
|
foreach(var item in ThicknessBox.Items)
|
|
{
|
|
{
|
|
- var itemData = item as ComboBoxItem;
|
|
|
|
|
|
+
|
|
|
|
+ var itemData = item as ComboNumberItem;
|
|
if(itemData != null)
|
|
if(itemData != null)
|
|
{
|
|
{
|
|
- var doubleItem = double.Parse(itemData.Content.ToString());
|
|
|
|
- if(doubleItem == Value)
|
|
|
|
|
|
+ if(itemData.Value == Value)
|
|
{
|
|
{
|
|
ThicknessBox.SelectedItem = itemData;
|
|
ThicknessBox.SelectedItem = itemData;
|
|
break;
|
|
break;
|
|
@@ -54,20 +95,13 @@ namespace PDF_Office.CustomControl.CompositeControl
|
|
|
|
|
|
private void ThicknessBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
private void ThicknessBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
{
|
|
- var listItem = ThicknessBox.ItemContainerGenerator.ContainerFromItem(ThicknessBox.SelectedItem) as ComboBoxItem;
|
|
|
|
- if (listItem != null)
|
|
|
|
|
|
+ var item = ThicknessBox.SelectedItem as ComboNumberItem;
|
|
|
|
+ if(item != null)
|
|
{
|
|
{
|
|
- Value = double.Parse(listItem.Content.ToString());
|
|
|
|
- ThicknessText.Text = listItem.Content.ToString();
|
|
|
|
|
|
+ Value = item.Value;
|
|
|
|
+ ThicknessText.Text = item.Content;
|
|
}
|
|
}
|
|
- else
|
|
|
|
- {
|
|
|
|
- ThicknessText.Text = "1";
|
|
|
|
- Value = 1.0;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|