From what I understand... you can not specifically get that control in code behind. What I described is how I change the visiblility of the opacity slider for various layers in my legend control. For example, I don't need an opacity slider for a point layer. So I hide it using the method I described. Add a handler to your legend control for Refreshed
esri:Legend Map="{Binding ElementName=MyMap}"
LayerIDs="......."
LayerItemsMode="Tree"
ShowOnlyVisibleLayers="False"
Refreshed="Legend_Refreshed"
LayoutUpdated="Legend_LayoutUpdated"
Background="#FF1B1D1D"
Foreground="White" Opacity="0.75" Grid.Row="1" >
Then add the Visiblility in your radio button control
<RadioButton x:Name="rbLayer"
DataContext="{Binding ElementName=Toc,Path=ViewModel}"
IsChecked="False"
GroupName="grpSelectedLayer"
Tag="{Binding Content, ElementName=lblLayerName}"
ToolTipService.ToolTip="{Binding localizationResources.strSelectLayer}"
Visibility="{Biniding Tag}"
Content="" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding RadioButtonCheckedCommand}"
CommandParameter="{Binding ElementName=rbLayer}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</RadioButton>
Then in your Legend_Refreshed voidif (e.LayerItem.Layer.ID == "SomeLayerName") e.LayerItem.Tag = Visibility.Collapsed;
then when the legend loads/is refreshed the radio button will bind to the tags value and appear or disappear.You can also dynamically change the layers Tag property in code behind and refresh the legend to make it visible or invisible if that is what you want to do.I got help from Dominique here: http://forums.arcgis.com/threads/34809-Legend-with-Templates-sample?p=117312#post117312