Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/Controls/Internal/TextBoxContentProxy.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
module Fayde.Controls.Internal {
export class TextBoxContentProxy {
private $$element: FrameworkElement = null;
private $$scrollElement: FrameworkElement = null;

setElement(fe: FrameworkElement, view: TextBoxView) {
this.$$element = fe;
Expand All @@ -19,9 +20,13 @@ module Fayde.Controls.Internal {
console.warn("TextBox does not have a valid content element.");
}
}

setScrollElement(fe: FrameworkElement){
this.$$scrollElement = fe;
}

setHorizontalScrollBar(sbvis: ScrollBarVisibility) {
var ce = this.$$element;
var ce = this.$$scrollElement;
if (!ce)
return;
var ceType = (<any>ce).constructor;
Expand All @@ -32,7 +37,7 @@ module Fayde.Controls.Internal {
}

setVerticalScrollBar(sbvis: ScrollBarVisibility) {
var ce = this.$$element;
var ce = this.$$scrollElement;
if (!ce)
return;
var ceType = (<any>ce).constructor;
Expand Down
1 change: 1 addition & 0 deletions src/Controls/TextBoxBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ module Fayde.Controls {
OnApplyTemplate() {
super.OnApplyTemplate();
this.$ContentProxy.setElement(<FrameworkElement>this.GetTemplateChild("ContentElement", FrameworkElement), this.$View);
this.$ContentProxy.setScrollElement(<FrameworkElement>this.GetTemplateChild("ScrollElement", FrameworkElement));
}

OnLostFocus(e: RoutedEventArgs) {
Expand Down
6 changes: 4 additions & 2 deletions testsite/Controls/textbox.fap
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Margin="5" Text="Enter Text here!" Background="Yellow" />
<TextBox Grid.Row="1" Margin="5" Text="Enter Text here!" Background="Orange" TextWrapping="Wrap" HorizontalAlignment="Left" Width="100" Height="50" VerticalScrollBarVisibility="Auto" />
<TextBox Grid.Row="1" Margin="5" Text="Enter Text here!" AcceptsReturn="True" Background="Orange" TextWrapping="Wrap" HorizontalAlignment="Left" Width="400" Height="80" VerticalScrollBarVisibility="Visible" />
<StackPanel Orientation="Horizontal" Grid.Row="2">
<TextBlock Margin="5" Text="{Binding ElementName=BigTextBox, Path=SelectionStart}" />
<TextBlock Margin="5" Text="{Binding ElementName=BigTextBox, Path=SelectionLength}" />
Expand All @@ -26,6 +27,7 @@
<TextBox x:Name="SelectionText5" Margin="0,5" Text="DefaultSelectAll" SelectionOnFocus="DefaultSelectAll" />
</StackPanel>

<TextBox x:Name="BigTextBox" Grid.Row="4" Margin="5" Text="Enter Text here!" AcceptsReturn="True" TextWrapping="Wrap" />
<TextBox Grid.Row="4" Margin="5" Text="10.00" Background="White" Width="150" TextAlignment="Right" HorizontalAlignment="Left" />
<TextBox x:Name="BigTextBox" Grid.Row="5" Margin="5" Text="Enter Text here!" AcceptsReturn="True" TextWrapping="Wrap" VerticalContentAlignment="Top" VerticalScrollBarVisibility="Auto" />
</Grid>
</Application>
23 changes: 18 additions & 5 deletions themes/Metro.theme.xml
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,7 @@
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
Expand Down Expand Up @@ -722,11 +723,23 @@
<Grid Margin="0,1,0,0">
<Border x:Name="ReadOnlyVisualElement" Background="{StaticResource ReadOnlyBrush}"
Opacity="0"/>
<Grid>
<ScrollViewer x:Name="ContentElement" BorderThickness="0" IsTabStop="False"
Margin="4,0,2,2" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Background="{x:Null}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
</Grid>
<ScrollViewer BorderThickness="0"
x:Name="ScrollElement"
IsTabStop="False"
Background="{x:Null}"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<ScrollViewer x:Name="ContentElement"
BorderThickness="0"
IsTabStop="False"
Margin="4,0,2,2"
Background="{x:Null}"
HorizontalAlignment="{TemplateBinding TextAlignment}"
VerticalScrollBarVisibility="Disabled"
HorizontalScrollBarVisibility="Disabled" />
</ScrollViewer>
</Grid>
<Rectangle x:Name="DisabledVisualElement" Stroke="{StaticResource ControlsDisabledBrush}"
StrokeThickness="{TemplateBinding BorderThickness}"
Expand Down