Я не знаю, можете ли вы нацелить свойства другого элемента управления с помощью Visual States - это может быть возможно, но я не уверен, что вы можете.
Вы пытались использовать интерактивность?
Чтобы это работало, вам нужна ссылка на библиотеку System.Windows.Interactivity (не уверен, где она находится - она может поставляться с Microsoft Expression Blend / Studio). Вы также должны импортировать эти:
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
И тогда этот код должен работать, чтобы показать текстовое поле:
<CheckBox Grid.Column="0" x:Name="chkBox">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:ChangePropertyAction TargetObject="{Binding ElementName=txtBox}" PropertyName="Visibility" Value="Visible"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Checkbox>
и вернуть его обратно:
<i:EventTrigger EventName="UnChecked">
<ei:ChangePropertyAction TargetObject="{Binding ElementName=txtBox}" PropertyName="Visibility" Value="Collapsed"/>
</i:EventTrigger>
Оба триггера должны быть внутри флажка ЗДЕСЬ . Этот код не проверен, поэтому он может быть не совсем правильным. Если это не сработает, просто выполните поиск по ChangePropertyAction, и вы найдете лучшие примеры, чем этот. Я не уверен, как это отреагирует внутри элемента управления ... но я верю, что это сработает.