Panel is setting the data context to the scrollbar object : Panel « Windows Presentation Foundation « C# / CSharp Tutorial






<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:myConverters ="clr-namespace:WpfApplication1" 
    Title="Simple Data Binding" Height="334" Width="288" 
    WindowStartupLocation="CenterScreen" 
    >
  <Window.Resources>
    <myConverters:MyDoubleConverter x:Key="DoubleConverter"/>
    <myConverters:MyColorConverter x:Key="ColorConverter"/>
  </Window.Resources>
    <StackPanel Width="250" DataContext = "{Binding ElementName=mySB}">
     <ScrollBar Orientation="Horizontal" Name="mySB" Maximum = "100" LargeChange="1" SmallChange="1"/>
     <TextBox Name="txtThumbValue" Text = "{Binding Path=Value, Converter={StaticResource DoubleConverter}}"/>
     <Button Content="Click" FontSize = "{Binding Path=Value}" Background= "{Binding Path=Value, Converter={StaticResource ColorConverter}}"/>
  </StackPanel>
</Window>
//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Collections.Generic;
namespace WpfApplication1
{
  public partial class MainWindow : Window
  {
    public MainWindow()
    {
      InitializeComponent();      
    }
  }

  class MyColorConverter : IValueConverter
  {
    public object Convert(object value, Type targetType, object parameter, 
      System.Globalization.CultureInfo culture)
    {
      double d = (double)value;
      byte v = (byte)d;

      Color color = new Color();
      color.A = 255;
      color.G = (byte) (155 + v);

      return new SolidColorBrush(color);
    }

    public object ConvertBack(object value, Type targetType, object parameter, 
      System.Globalization.CultureInfo culture)
    {
      return value;
    }
  }

  class MyDoubleConverter : IValueConverter 
  {
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
      double v = (double)value;
      return (int)v;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
      return value;
    } 
  }
}
WPF Panel Is Setting The Data Context To The Scrollbar Object








24.55.Panel
24.55.1.Add a control to a PanelAdd a control to a Panel
24.55.2.Remove Control from a PanelRemove Control from a Panel
24.55.3.Insert Button to a PanelInsert Button to a Panel
24.55.4.Add child controlAdd child control
24.55.5.Show Index of ControlsShow Index of Controls
24.55.6.Clear ControlsClear Controls
24.55.7.Contains Element?Contains Element?
24.55.8.UIElement CountUIElement Count
24.55.9.Get Item At Index Position [0]Get Item At Index Position [0]
24.55.10.Panel is setting the data context to the scrollbar objectPanel is setting the data context to the scrollbar object
24.55.11.Find the index number of a newly added element within a panel, using the IndexOf methodFind the index number of a newly added element within a panel, using the IndexOf method
24.55.12.Insert to a Panel by indexInsert to a Panel by index
24.55.13.Get all children from a PanelGet all children from a Panel
24.55.14.Search for an element by using Panel.FindName()Search for an element by using Panel.FindName()
24.55.15.Panel.ZIndexPanel.ZIndex
24.55.16.Without Panel.ZIndexWithout Panel.ZIndex
24.55.17.Override the default layout behavior of the Panel element and create custom layout elements that are derived from Panel.