AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 17.03.2014, 17:36   #1  
IKA ist offline
IKA
Участник
 
359 / 65 (3) ++++
Registriert seit: 15.03.2006
Как получить свойства .net контролов?
Есть форма. на ней ManagedHost ( имя - DynamicGridCtrl )
Хост привязан к System.Windows.Controls.Grid
Но почему-то многие из свойств грида , кот описаны в http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx отсутствуют в выпадающем списке intelliSense. Как , например, получить свойство Grid.ColumnProperty ??

Проблема: Чтобы вывести txtBlock1 в ячейке грида, нужно указать
X++:
txtBlock1.SetValue(  Grid.ColumnProperty, colNum);
txtBlock1.SetValue(  Grid.RowProperty, rowNum);[
но этого свойства нет в списке. Как добраться до него ?
(делаю как вот тут )
В форме пишу такой инит. 
X++:
public void init()
{
    System.Windows.Controls.ColumnDefinition gridCol1 = new System.Windows.Controls.ColumnDefinition();
    System.Windows.Controls.ColumnDefinition gridCol2 = new System.Windows.Controls.ColumnDefinition();
 
    System.Windows.Controls.RowDefinition gridRow1 = new System.Windows.Controls.RowDefinition();
    System.Windows.Controls.RowDefinition gridRow2 = new System.Windows.Controls.RowDefinition();
  
    System.Windows.Controls.TextBlock txtBlock1 = new System.Windows.Controls.TextBlock();
    System.Windows.Controls.TextBlock txtBlock2 = new System.Windows.Controls.TextBlock();
    System.Windows.Controls.ColumnDefinitionCollection ColumnDefinitions;
    System.Windows.Controls.RowDefinitionCollection RowDefinitions;    
    System.Windows.Controls.Grid  DynamicGrid;    
    System.Windows.Controls.UIElementCollection  Children;  
    ;
    super();    
    
    DynamicGrid = DynamicGridCtrl.control();  
    
    ColumnDefinitions = DynamicGrid.get_ColumnDefinitions();  
    ColumnDefinitions.Add(gridCol1);
    ColumnDefinitions.Add(gridCol2);
    
    RowDefinitions = DynamicGrid.get_RowDefinitions();     
    RowDefinitions.Add(gridRow1);    
    RowDefinitions.Add(gridRow2);
    
    txtBlock1.AddText( "My text 1");
    txtBlock1.set_FontSize( 14);
    txtBlock1.SetValue(     Grid.ColumnProperty, 1);
    txtBlock1.SetValue(     Grid.RowProperty, 1);
    
    txtBlock2.AddText( "My Text 2");
    txtBlock2.set_FontSize( 14);     
    
    Children = DynamicGrid.get_Children();
    Children.Add(txtBlock1);
    Children.Add(txtBlock2);
  
}

Geändert von IKA (17.03.2014 um 18:05 Uhr)
Alt 17.03.2014, 17:44   #2  
IKA ist offline
IKA
Участник
 
359 / 65 (3) ++++
Registriert seit: 15.03.2006
методы Grid.setRow и grid.SetColumn тоже отсутствуют
Судя по примеру в мсдн, все должно быть доступно даже в 3.0

Geändert von IKA (17.03.2014 um 17:55 Uhr)
Alt 17.03.2014, 18:34   #3  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von IKA Beitrag anzeigen
Есть форма. на ней ManagedHost ( имя - DynamicGridCtrl ) Хост привязан к System.Windows.Controls.Grid. Но почему-то многие из свойств грида , кот описаны в http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx отсутствуют в выпадающем списке intelliSense. Как , например, получить свойство Grid.ColumnProperty ??
Для доступа к значениям свойств из X++ нужно явно использовать методы-аксессоры get/set, в частности, чтобы получить значение свойства Grid.ColumnProperty, нужно вызвать Grid.get_ColumnProperty().
Alt 17.03.2014, 19:19   #4  
IKA ist offline
IKA
Участник
 
359 / 65 (3) ++++
Registriert seit: 15.03.2006
Я бы с радостью даже не писала этот пост, если бы так оно и было.
Но это не так. Например , для ColumnDefinitions есть только get_ColumnDefinitions() (set_ColumnDefinitions()- нет), а для ColumnProperty , о котором я пишу, так вообще нет аксессоров
Alt 17.03.2014, 20:10   #5  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Во-первых, описание свойств объекта Grid следует смотреть для .NET Framework 3.0: класс System.Windows.Controls.Grid реализован в сборке PresentationFramework, а в References добавлена ссылка на версию 3.0.0.0 этой сборки. В MSDN написано, что свойство Grid.ColumnDefinitions "gets a ColumnDefinitionCollection", т.е. это свойство только для чтения (в противном случае было бы написано "gets or sets", как, скажем, для ClipToBounds или ContextMenu). Во-вторых, у Grid на самом деле нет свойства ColumnProperty - обратите внимание, что в приведенном примере переменная-grid называется MyGrid, в то время как методу TextBox.SetValue() передается Grid.ColumnProperty и Grid.ColumnProperty, т.е. передаются вовсе не значения свойств MyGrid, а идентификаторы т.н. DependencyProperty самого TextBox'а, см. описание метода SetValue.
Alt 17.03.2014, 20:35   #6  
IKA ist offline
IKA
Участник
 
359 / 65 (3) ++++
Registriert seit: 15.03.2006
Именно потому что передаются идентификаторы. у меня в коде не DynamicGrid.ColumnProperty в setValue а Grid.
Но даже если писать system.Windows.Controls.Grid.ColumnProperty и тоже не распознается в качестве параметра setValue.

Как нужно к нему обращаться, я уже все перепробовала (?

Geändert von IKA (17.03.2014 um 20:55 Uhr)
Alt 18.03.2014, 19:10   #7  
IKA ist offline
IKA
Участник
 
359 / 65 (3) ++++
Registriert seit: 15.03.2006
на вопрос "как" ответа нету ..
Alt 21.03.2014, 19:25   #8  
b_nosoff ist offline
b_nosoff
Читатель
Benutzerbild von b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Registriert seit: 01.12.2004
Ort: Msk
Blog-Einträge: 13
Lightbulb
Zitat:
Zitat von IKA Beitrag anzeigen
на вопрос "как" ответа нету ..

Ну почему же... Есть

X++:
    System.Windows.Controls.Grid::SetRow(txtBlock1, 0);
    System.Windows.Controls.Grid::SetColumn(txtBlock1, 0);
__________________
Axapta non erubescit
Alt 04.06.2015, 12:36   #9  
Товарищ ♂uatr ist offline
Товарищ ♂uatr
Участник
Benutzerbild von Товарищ ♂uatr
MCBMSS
 
342 / 931 (32) +++++++
Registriert seit: 23.10.2012
?
Добрый день!
Мой вопрос, не о свойствах контролов, а о их добавлении.
Есть метод "add" в "System.Windows.Forms.Control.ControlCollection"
Чем через Х++ до него достучаться?
X++:
Object ControlCollection =  System.Windows.Forms.get_Controls();
...
ControlCollection.add(SomeControl);
Дает CLR ошибку.

Geändert von Товарищ ♂uatr (04.06.2015 um 12:44 Uhr)
Alt 04.06.2015, 13:24   #10  
b_nosoff ist offline
b_nosoff
Читатель
Benutzerbild von b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Registriert seit: 01.12.2004
Ort: Msk
Blog-Einträge: 13
Zitat:
Zitat von Товарищ ♂uatr Beitrag anzeigen
Дает CLR ошибку.
Какую?
__________________
Axapta non erubescit
This post has been rated by: Товарищ ♂uatr (1).
Alt 04.06.2015, 15:55   #11  
Товарищ ♂uatr ist offline
Товарищ ♂uatr
Участник
Benutzerbild von Товарищ ♂uatr
MCBMSS
 
342 / 931 (32) +++++++
Registriert seit: 23.10.2012
Zitat:
Zitat von b_nosoff Beitrag anzeigen
Какую?
Поместил в
try {}
catch {}
и О_О заработало, да и без них, тоже теперь. Не помню, чтобы менял синтаксис написания. Спасибо!
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
fed: Net requirements update in MRP Module and Working Set of MRP Blog bot DAX Blogs 14 08.05.2012 13:09
AX.NET: интеграция .NET-приложений с Аксаптой и (будущие) возможности облачных вычислений gl00mie DAX: Программирование 2 23.04.2010 00:47
Получить значения контролов в ExecuteSection? CDan DAX: Программирование 6 19.08.2008 15:01
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 02:32 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.