Blazor - pobieranie szerokości elementu (div)

Blazor - pobieranie szerokości elementu (div)
M1
  • Rejestracja:około 5 lat
  • Ostatnio:prawie 3 lata
  • Postów:11
0

Witam, właśnie zaczynam uczyć się blazora i trafiłem na problem, z którym nie umiem sobie poradzić. Chodzi konkretnie o pobranie szerokości elementu div w celu skalowania szerokości mapy znajdującej się wewnątrz tegoż diva. W normalnych okolicznościach atrybut width obrazka ustawiłbym na 100% co rozwiązywałoby problem. Jednak w tym przypadku zmiana taka sprawiłaby, że linki podpięte do obrazka byłyby w złych miejscach.
screenshot-20220311121447.png
Na ten moment tak to wygląda na dużym ekranie (width jest na sztywno ustawione na 800px).

Powinno to wyglądać następująco:
screenshot-20220311121806.png

Jednakże nie mogę zmienić atrybutu with z powodu mapowania obrazka.
screenshot-20220311121901.png

Moim pomysłem na rozwiązanie tego problemu jest pobieranie szerokości diva, w którym znajduje się mapa i za pomocą równania oraz właściwości CSS transform: scale(X) skalowanie obrazka do właściwej szerokości. Tak jak mówiłem, problemem jest to, że nie wiem w jaki sposób pobrać tę szerokość.
Mam nadzieję, że za bardzo nie zamieszałem tłumacząc ten problem, w razie pytań dokładniej go wyjaśnię i z góry dziękuję za wszelką pomoc.

AdamWox
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Jastrzębie-Zdrój
  • Postów:2161
1

C# w Blazorze nie ma dostępu do takich rzeczy z tego co wiem. Potrzebujesz pobrać te dane JavaScriptem z użyciem JSRuntime

Wywołaj funkcje języka JavaScript z metod .NET w ASP.NET Core Blazor

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.