我正试图动态地将按钮添加到我的DockPanel
。我需要创建我的dockpanel中存在的相同按钮。复制按钮并将其添加到WPF/C中的dockpanel中#
<Button Name="ImageMoreButton"
DockPanel.Dock="Right"
Command="{Binding LaunchLookup}"
Style="{StaticResource ButtonStyle}"
Margin="2,0,2,0"
Padding="3"
Visibility="{Binding Definition.IsLookupImageButton, Converter={StaticResource boolToVisibilityConverter}}"
IsEnabled="{Binding Locked, Converter={StaticResource invertedBooleanConverter}}">
<Image Name="button_image" Source="search_button_rest.png"/>
</Button>
这是我的C#代码。
d.Name = VariableArg.Name + index;
d.Margin = VariableArg.Margin;
item.Command = ImageMoreButton.Command;
item.Style = ImageMoreButton.Style;
item.Name = ImageMoreButton.Name + index;
item.Visibility = ImageMoreButton.Visibility;
item.Padding = ImageMoreButton.Padding;
item.Margin = ImageMoreButton.Margin;
item.IsEnabled = ImageMoreButton.IsEnabled;
item.Height = ImageMoreButton.ActualHeight;
item.Width = ImageMoreButton.ActualWidth;
DockPanel.SetDock(item, Dock.Right);
让我知道这是否是正确的方法。
是你编码做什么?如果它不会忘记在您的表单中添加'item' – Flanfl
您是否真的需要在代码中动态执行此操作? 如果您只需要2个可能隐藏的按钮,只需在XAML中编写它们并操作'Visibility'即可。如果你需要为某个集合中的每个项目设置一个按钮,最好使用一个'ItemsControl'来为你自动生成按钮。 有关您的情况的其他信息,将不胜感激。 –
不,我需要n个按钮,具体取决于配置。 – user1069622