Pliki XAML programu Data Standard

Każde okno dialogowe w programie Data Standard jest oparte na pliku z rozszerzeniem .XAML (Extensible Application Markup Language). Można dostosować okno dialogowe programu Data Standard, modyfikując plik XAML.

Przegląd

Pliki XAML określają układ okna dialogowego programu Data Standard, w tym używane kontrolki (etykieta, pole tekstowe, pole kombi itp.) oraz właściwościami programu CAD lub Vault, z którymi kontrolki są powiązane.

Pliki XAML to pliki XML i można ją edytować za pomocą dowolnego edytora tekstów/XML. Dobrym bezpłatnym edytorem XML jest Microsoft XML Notepad. Można też użyć dowolnego innego edytora, który obsługuje format XML. Firma Autodesk zaleca program Visual Studio (Express lub lepszy) zapewniający najlepsze środowisko edycji. Ponieważ w składni XAML rozróżniana jest wielkość liter, najlepiej jest użyć edytora, który obsługuje zmianę wielkości liter i wykrywanie literówek.

Jeśli potrzeba w oknie dialogowym programu Data Standard wyświetlić więcej lub mniej informacji albo inne informacje, należy zmodyfikować plik XAML. Pliki PS1 znajdujące się w folderze Configuration sterują zachowaniem okna dialogowego.

Ten temat zawiera krótki opis najczęściej używanych kontrolek. Więcej informacji na temat tych, jak również innych kontrolek, można znaleźć na stronach pomocy firmy Microsoft.

Struktura pliku XAML

Każdy plik XAML zawiera różne sekcje, najczęściej używane to: sekcje zasobów, stylu i kontrolek.

W sekcji zasobów znajdują się definicje, które są ponownie używane w sekcjach kontrolek. Przykładowo, jeśli kolorem firmy jest zielony, można zdefiniować, że cały tekst wyświetlany w kontrolce będzie zielony.

Wyzwalacze znajdują się w sekcji stylu. Wyzwalacze określają, w jaki sposób kontrolka wygląda lub działa w zależności od danej sytuacji (np. tworzenie nowego rekordu lub edycja istniejącego). Jednakże bardziej złożone zachowania są zdefiniowane w plikach PS1.

Sekcja kontrolek lub obszar układu zazwyczaj zaczyna się od kontrolki <Grid>. Siatka dzieli okno na wiersze i kolumny jak w tabeli programu Excel. Można łączyć i dzielić komórki zgodnie z wymaganiami projektu. W każdej komórce można umieścić co najmniej jedną kontrolkę, taką jak etykieta dla tekstu prostego lub pola tekstowe do wprowadzania tekstu.

Układ

Układ pliku XAML jest podobny do tabeli z wierszami i kolumnami. Dzięki temu okno dialogowe i jego kontrolki są dynamiczne, co oznacza, że po zmianie rozmiaru okna za pomocą myszy ich rozmiar jest zmieniany automatycznie. Istnieje również możliwość pracy z ustalonymi współrzędnymi, ale w tym przypadku, gdy użytkownik zmieni rozmiar okna dialogowego lub ma skonfigurowane większe czcionki w systemie Windows, kontrolki w oknie dialogowym pozostaną na swoim miejscu i potencjalnie mogą pokryć się lub nie wykorzystać dostępnego miejsca w oknie dialogowym. Z tego powodu firma Autodesk zaleca korzystanie z podejścia opartego na tabeli i umożliwienie każdej kontrolce rozwijanie się wewnątrz zdefiniowanej komórki.

Ponieważ okno dialogowe jest podobne do tabeli, podczas jego projektowania należy zastanowić się, ile kolumn i wierszy potrzeba. Zwykle dwie kolumny wystarczą: jedna z lewej strony o stałej szerokości na etykiety i jedna z prawej strony o dynamicznej szerokości dla kontrolek. Jest to także sposób tworzenia domyślnych okien dialogowych. W zależności od liczby wymaganych wierszy odpowiednie definicje wierszy są definiowane w siatce. Każda kontrolka wewnątrz siatki ma odniesienie do wiersza i kolumny (zawsze zaczynających się od 0), dzięki czemu jest odpowiednio wyświetlana.

Składnia

W pliku XML i XAML każde słowo kluczowe jest osadzone w nawiasach ostrych (<słowo kluczowe>). Zwykle blok definicji rozpoczyna się od słowa kluczowego, na przykład <Grid>, i kończy się tym samym słowem kluczowym poprzedzonym ukośnikiem, na przykład </Grid>. W przypadku instrukcji w pojedynczym wierszu dostępna jest również składnia typu: <Label .../>. Dodatkowe atrybuty słowa kluczowego lub kolejne zagnieżdżone słowa kluczowe określają strukturę okna dialogowego. W pliku XAML rozróżniana jest wielkość liter, dlatego należy zwrócić uwagę na wielkie/małe litery.

Najczęściej używane kontrolki

Grid

Label

TextBox

Button

Binding

Edycja plików XAML za pomocą programu Visual Studio

Plik .xaml można edytować w programie Visual Studio. Program Visual Studio ułatwia umieszczanie elementów i pomaga uniknąć błędów pisowni.

Uwaga: Do wykonania instrukcji opisanych w tym temacie wymagany jest program Visual Studio Express dla systemu Windows lub lepszy. Jeśli nie masz programu Visual Studio, możesz go pobrać z witryny firmy Microsoft.
Przykład konfigurowania w programie Visual Studio:
  1. Po zainstalowaniu programu Visual Studio uruchom aplikację i kliknij pole Nowy projekt.
  2. Wybierz opcję Aplikacja WPF i nadaj nowemu projektowi żądaną nazwę oraz określ jego położenie. Należy również ustawić domyślną ścieżkę, tak aby w przypadku kolejnych zmian okna dialogowego Data Standard można było zawsze użyć tego projektu ponownie.

Podczas pracy w nowym projekcie powinny być widoczne karty MainWindow.xaml, MainWindow.xam.cs i inne. Te karty nie są potrzebne, wystarczy tylko środowisko umożliwiające edycję pliku .xaml. W celu edycji pliku .xaml należy utworzyć do niego łącze. Nie trzeba dodawać pliku .xaml do projektu.

  1. Kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i przenieś go do miejsca Dodaj>Istniejący element.
  2. Przejdź do pliku .xaml w Eksploratorze rozwiązań i wybierz opcję Dodaj jako łącze.
    Uwaga: Jeśli plik .xaml nie jest widoczny, zmień typ pliku nad przyciskiem Dodaj.
  3. Po wyświetleniu pliku .xaml w Eksploratorze rozwiązań kliknij go dwukrotnie.

    Zostanie wyświetlony błąd Problem wczytywania.

  4. Na liście błędów w dolnej części okna programu Visual Studio odszukaj błąd, w którym znajduje się informacja, że nie znaleziono zestawów i właściwości lub zasobów.
  5. Przejdź do Eksploratora rozwiązań i kliknij prawym przyciskiem myszy pozycję Odwołania.
  6. Wybierz opcję Dodaj odwołania.
  7. Wybierz kartę Przeglądaj i znajdź:
    • Plik dataStandard.UI.DLL w tej lokalizacji: C:\ProgramData\Autodesk\Inventor 2018\Addins\Data Standard. Wybierz go i kliknij przycisk OK.
    • Plik CreateObject.DLL w tej lokalizacji: C:\ProgramData\Autodesk\Vault 2018\Extensions\Data Standard. Wybierz go i kliknij przycisk OK.
    • Plik Autodesk.Connectivity.Webservices.DLL w tej lokalizacji: C:\Program Files\Autodesk\Vault 2018\. Wybierz go i kliknij przycisk OK.
  8. Jeśli zmiany dotyczą programu CAD, wybierz w Eksploratorze rozwiązań plik .cfg, który chcesz zmodyfikować.

Okno dialogowe zostanie wyświetlone w oknie projektu. Można w nim wybrać obszar, a w programie Visual Studio nastąpi przejście do tej części w pliku .xaml. Rozpocznij wstawianie lub modyfikowanie pól. Zobacz sekcję Okna dialogowe rozwiązania Data Standard, aby uzyskać więcej informacji.

Dodawanie pola do okna dialogowego

  1. Zdecyduj, gdzie należy dodać nowe pole. W którym wierszu i kolumnie powinna pojawić się nowa właściwość?
  2. Dodaj nowy wiersz w siatce, aby można było umieścić kontrolkę w tym położeniu. Jeśli jest potrzebna nowa kolumna dodaj ją. Przejdź w pliku XAML do kontrolki Grid, która będzie zawierać nową kontrolkę. W tej kontrolce Grid można znaleźć definicje <Grid.RowDefinitions> i <RowDefinition .../>. Dodaj dodatkową definicję <RowDefinition/>, w miejscu, w którym ma być wyświetlany nowy wiersz. Ustaw właściwość Height na odpowiednią wartość, stałą, automatyczną (w celu uzyskania minimalnej ilości miejsca) albo * (w celu uzyskania maksymalnej ilości miejsca).
  3. Dodaj kontrolkę, taką jak Label i TextBox, w obszarze <Grid> w pobliżu innych kontrolek. Za pomocą atrybutów Grid.Row i Grid.Column można zdefiniować, w którym wierszu i kolumnie zostanie umieszczona kontrolka. Można również zdefiniować powiązania kontrolki, dzięki czemu dane mogą przepływać między kontrolką a właściwością. Jeśli zmiany dotyczą programu CAD, należy również skonfigurować właściwość w odpowiednim pliku CFG.
  4. Podczas dodawania nowego wiersza wszystkie kontrolki, które znajdują się w wierszu o tym samym numerze i poniżej muszą zostać przesunięte w dół przez zwiększenie ich atrybutu Grid.Row.