<UserControl x:Class="SimpleControls.ComboBox.ComboBoxWaterMarkTextInput"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="50"
d:DesignWidth="453"
xmlns:local="clr-namespace:SimpleControls.ComboBox"
xmlns:watermark="clr-namespace:SimpleControls.WatermarkTextBox"
>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="4*"/>
</Grid.ColumnDefinitions>
<!-- This will bind the Content property on the label to the 'LabelContent' property on this control-->
<Label Content="{Binding Path=LabelContent, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
Target="{Binding ElementName=PART_ComboBox}"
HorizontalAlignment="Left" VerticalAlignment="Bottom"
Grid.Column="0" Grid.Row="0"/>
<!-- This will bind the ItemsSource of the ComboBox to this control's ItemsSource property -->
<ComboBox Name="PART_ComboBox"
ItemsSource="{Binding Path=ItemsSource, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
DisplayMemberPath="{Binding Path=DisplayMemberPath, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
SelectedValuePath="{Binding Path=SelectedValuePath, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
SelectedValue="{Binding Path=SelectedValue, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
SelectedItem="{Binding Path=SelectedItem, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
SelectedIndex="{Binding Path=SelectedIndex, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
VerticalAlignment="Top" HorizontalAlignment="Stretch"
Grid.Column="0" Grid.Row="1">
</ComboBox>
<!-- Reuse the watermark textbox here -->
<watermark:TextBoxWithWatermark Text="{Binding Path=Text, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
LabelTextBox="{Binding Path=LabelTextBox, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
Watermark="{Binding Path=Watermark, RelativeSource={RelativeSource FindAncestor, AncestorType=local:ComboBoxWaterMarkTextInput, AncestorLevel=1}}"
VerticalAlignment="Top" HorizontalAlignment="Stretch"
Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" Margin="9, 0"/>
</Grid>
</UserControl>