Несколько вещей, которые я бы предложил здесь.Вместо ico, которые являются растровыми и будут иметь неровности, я бы порекомендовал геометрию и пути.С кнопкой, состоящей из двух состояний, вы можете переключаться между ними, тогда кнопка переключения является хорошим кандидатом.Ниже я помещаю свои две геометрии в ресурсы моей кнопки переключения.Они чаще всего помещаются в словарь ресурсов (наряду со многими другими геометриями, используемыми для иконографии) и объединяются в app.xaml.
<ToggleButton IsChecked="True"
IsThreeState="False"
>
<ToggleButton.Resources>
<Geometry x:Key="StopGeom">
M0,0L32,0 32,32 0,32z
</Geometry>
<Geometry x:Key="PlayGeom">
M0,0L16,8 32,16 16,24 0,32 0,16z
</Geometry>
</ToggleButton.Resources>
<Path Fill="Black"
Stretch="Uniform"
Margin="4">
<Path.Style>
<Style TargetType="Path">
<Setter Property="Data" Value="{StaticResource PlayGeom}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}}" Value="True">
<Setter Property="Data" Value="{StaticResource StopGeom}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
</ToggleButton>
Это требует дополнительной работы, но должно дать вам идею одного способасделай это.Для получения дополнительной информации о макете и геометрии:
https://social.technet.microsoft.com/wiki/contents/articles/32610.wpf-layout-lab.aspx
Я не знаю, как вы стилизуете форму своей кнопки, но я использую ее, чтобы подчеркнуть, что новички wpf выглядят безразличноСредства управления:
https://social.technet.microsoft.com/wiki/contents/articles/29866.aspx