如果我在Microsoft Blend 4中添加控件但沒有將此控件的名稱設置爲此控件,並且我想爲它設置名稱並在c#中使用它? 例如我用混合在我的佈局,但沒有給它一個名字 我想用C#來給它一個名稱,而不x:Name=""
在XAML使用c#在wpf中重命名控件#
0
A
回答
0
首先,爲什麼在世界上,你會想這樣做,添加的按鈕?
如果您未設置名稱,則您無法輕鬆訪問該控件。但是,您可以通過與其他控件或傳遞引用的事件(例如加載的事件)的關係來訪問控件。
例如
private void Menu_Loaded(object sender, RoutedEventArgs e)
{
(sender as Menu).Name = "MainMenu";
}
或者如果控制是另一個控件的子項:
(ControlStack.Children[0] as Menu).Name = "MainMenu";
但我不能想到的,可以通過實現什麼有用的東西......
你可能只是想獲取可以輕鬆存儲在類成員中的對象的引用。在某些情況下,您還可以使用資源來分割您的XAML。
例如
<local:SomethingIWouldLikeToReference x:Key="SomethingIWouldLikeToReference"/>
<local:UserControl x:Name="userControl">
<Stuff>
<MoreStuff Content="{StaticResource SomethingIWouldLikeToReference}"/>
</Stuff>
</local:UserControl>
public MainWindow()
{
InitializeComponent();
MyReference = FindResource("SomethingIWouldLikeToReference") as SomethingIWouldLikeToReference;
}
1
在你的地方我會給LogicalTreeHelper.GetChildren(本)的機會。它將一組孩子返回給Window(這是Window的句柄)參考MSDN
從那裏你可以嘗試找到你的控件。
但是我認爲試着重寫控件(或者查找另一個組件)是很容易的,所以你可以在孩子身上有名字。那是你一開始就遇到的問題。
希望它可以幫助
Gorgen
0
例如,如果我有ListView控件,我想用它來添加項目和刪除項目 讓私人ListView和初始化
ListView temp_control_List = new ListView()
然後進行加載事件處理程序從混合所以它會在VS然後
private void ListView_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
temp_control_List = sender as ListView;
}
現在,您可以添加和刪除和從列表視圖控制從temp_control_List
相關問題
- 1. 使用命令提示符在C中重命名SRT文件
- 2. 標記中的WPF控件的命名
- 3. 在XAML中重命名控件
- 4. 如何在IB中重命名控件?
- 5. 重命名文件名C++
- 6. 重命名與WPF
- 7. Refector-重命名ASP.Net控件
- 8. 在Xcode中重命名C++
- 9. 使用子串重命名多個文件名使用C#
- 10. C#:重命名DragAndDrop列表框控件中的文件
- 11. IntelliJ在Java中用Spock重命名重命名 - 不重命名測試文件
- 12. 重構重命名使用C
- 13. 以C#重命名文件
- 14. 在WPF中調用控件,C#
- 15. C#中windows控件的命名約定
- 16. WPF命令 - 如何在用戶控件中使用
- 17. 使用文件夾名稱在powershell中重命名文件
- 18. 重命名文件使用MATLAB命令
- 19. 用戶控件中的Overspecified命名空間失敗WPF構建
- 20. WPF用戶控件庫 - 不存在於命名空間
- 21. 在WPF中定義單個DevExpress控件命名空間
- 22. 重命名目標文件,而不在NSIS腳本中使用重命名
- 23. c#在ftping之前重命名文件
- 24. Powershell - 重命名文件夾在C:\ Windows \
- 25. 使用python重命名文件名
- 26. 使用Python重命名文件名
- 27. 文件名使用.bat重命名?
- 28. 可以重新使用WPF控件嗎?
- 29. 在C++中命名文件
- 30. 在C中冒泡WPF控件事件#
可以是具體的,並添加更多的細節,你的問題? – 2011-04-15 11:59:58
你有沒有任何令人信服的理由不給控制名稱? – Gorgen 2011-04-15 12:18:43
是的,我添加了可擴展的控件我從codeproject中獲得它,並且只有當它的所有子項都沒有名稱時我纔可以編譯 – kartal 2011-04-15 12:25:31