I've done a fair bit of searching and experimentation but haven't gotten quite there yet. I'm trying to change a button's margin based on whether the scrollbar of a textbox is visible or not, but I can't find where that property is (apparently it's not on the textbox itself and the textbox doesn't have a ScrollViewer property). I'm REALLY trying to do this in pure XAML. Here's where I'm stuck:
<Window x:Class="deleteme.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:deleteme"
mc:Ignorable="d"
Title="MainWindow" Height="400" Width="400">
<Grid>
<TextBox x:Name="TheTextBox" Margin="10" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" FontSize="20">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pretium et nisi lacinia varius. Quisque rutrum nibh at mauris vestibulum, vitae placerat dolor dignissim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed eu risus eu turpis fermentum pharetra in ut orci. In vel leo luctus, ultrices massa at, sagittis lorem. Aliquam dictum quis sem eu commodo. Donec vestibulum ornare volutpat. Cras metus neque, vehicula sit amet sapien eget, viverra ornare diam. Proin orci tortor, cursus non hendrerit mattis, lobortis ornare risus. Nulla vehicula arcu id luctus hendrerit. Curabitur elit sapien, laoreet ut interdum eu, venenatis vel tellus. Aenean aliquet leo sed magna mollis, sit amet commodo lacus mattis. Etiam lectus arcu, ultrices in tincidunt nec, mattis eget felis. Morbi blandit tortor molestie lacus malesuada consequat nec sed urna.
</TextBox>
<Button Content="Button" HorizontalAlignment="Right" VerticalAlignment="Bottom" Padding="15">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Margin" Value="0,0,30,30"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding ScrollViewer.ComputedVerticalScrollBarVisibility, ElementName=TheTextBox}" Value="Collapsed">
<Setter Property="Margin" Value="0,0,47,30"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Grid>
</Window>