Я сделал небольшое приложение UWP, у которого есть страница настроек для его NavigationView. В нем я сделал Slider, который позволяет пользователю изменять прозрачность Acryli c (TintOpacity) фона страницы (или в основном NavigationView.Background). Но у меня есть ошибка
CS0120: An object reference is required for the non-static field, method or property 'MainPage.ChangeAcrylicOpacity(double)'
<!-- MainPage.xaml -->
<NavigationView
x:Name="NavView"
ItemInvoked="NavView_ItemInvoked"
Loaded="NavView_Loaded"> <!-- and some other attributes -->
// MainPage.xaml.cs
public void ChangeAcrylicOpacity(double tintOpacity)
{
AcrylicBrush acrylicBrush = NavView.Background as AcrylicBrush;
acrylicBrush.TintOpacity = tintOpacity;
}
//-----------------------------------------------------------------------------------------------------------------
// Settings.xaml.cs
private void Slider_AcrylicValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
Slider slider = sender as Slider;
double tintOpacity = slider.Value;
MainPage.ChangeAcrylicOpacity(tintOpacity);
}
Ошибка в Settings.xaml.cs > Slider_AcrylicValueChanged > MainPage.ChangeAcrylicOpacity(tintOpacity);
И эта ошибка возникает, когда я изменяю MainPage.xaml.cs > ChangeAcrylicOpacity(double tintOpacity)
с public
до private
, но выдает ошибку 'MainPage.ChangeAcrylicOpacity(double)' is inaccessible due to its protection level
Пожалуйста, предложите несколько способов использовать функции одной страницы на другой странице без ошибок. Примечание: я уже искал inte rnet, но ни один сайт не решил мою проблему (включая StackOverflow).